2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4 <modelVersion>4.0.0</modelVersion>
6 <groupId>org.onap.oparent</groupId>
7 <artifactId>oparent</artifactId>
8 <version>2.1.0</version>
11 <groupId>org.onap.so</groupId>
12 <artifactId>so</artifactId>
13 <packaging>pom</packaging>
14 <version>1.6.0-SNAPSHOT</version>
16 <description>This Maven project is responsible to build and package all child projects - contributions in the MSO project.
17 This build can be configured to run Functional tests and to start/stop a jboss server + Mysql DB.
18 "mvn clean install -P with-integration-tests -Dintegration-tests-user=root -Dintegration-tests-group=root -Dintegration-tests-db-type=MYSQL"
21 <name>ONAP - SO</name>
22 <url>http://www.onap.org/</url>
25 <module>deployment-configs</module>
26 <module>common</module>
27 <module>graph-inventory</module>
28 <module>mso-catalog-db</module>
29 <module>mso-api-handlers</module>
30 <module>adapters</module>
31 <module>asdc-controller</module>
33 <module>cloudify-client</module>
34 <module>cxf-logging</module>
35 <module>so-monitoring</module>
36 <module>so-simulator</module>
37 <module>packages</module>
40 <project.mso.base.folder>.</project.mso.base.folder>
41 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
42 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
43 <sonar.language>java</sonar.language>
44 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
45 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
46 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
47 <!--sonar.jacoco.itReportPath>${project.mso.base.folder}/packages/arquillian-unit-tests/target/mso-automated-tests/jacoco-it.exec</sonar.jacoco.itReportPath -->
48 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
49 <sonar.projectVersion>${project.version}</sonar.projectVersion>
50 <sonar.cpd.exclusions>**/*</sonar.cpd.exclusions>
51 <jacoco.version>0.8.5</jacoco.version>
52 <org.apache.maven.user-settings />
53 <openstack.version>1.6.1-SNAPSHOT</openstack.version>
54 <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
55 <originalClassifier>original</originalClassifier>
56 <docker.skip>true</docker.skip>
57 <docker.skip.build>true</docker.skip.build>
58 <docker.skip.push>true</docker.skip.push>
59 <docker.buildArg.project_version>${project.version}</docker.buildArg.project_version>
60 <docker.buildArg.artifact_id>${project.artifactId}</docker.buildArg.artifact_id>
61 <docker.buildArg.docker_repository>${dockerPullRepo}</docker.buildArg.docker_repository>
62 <enforcer.skip>false</enforcer.skip>
63 <nexusproxy>https://nexus.onap.org</nexusproxy>
64 <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
65 <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
66 <publicNexusPath>content/repositories/public/</publicNexusPath>
67 <siteNexusPath>content/sites/site/org/onap/so/${project.version}/</siteNexusPath>
68 <cxf.version>3.2.6</cxf.version>
69 <jax.ws.rs>2.1</jax.ws.rs>
70 <springboot.version>2.1.5.RELEASE</springboot.version>
71 <camunda.springboot.version>3.2.0</camunda.springboot.version>
72 <format.skipValidate>false</format.skipValidate>
73 <format.skipExecute>true</format.skipExecute>
74 <io.fabric8.version>4.1.0</io.fabric8.version>
75 <appc.client.version>1.7.1</appc.client.version>
77 <distributionManagement>
79 <id>ecomp-releases</id>
80 <url>${nexusproxy}/${releaseNexusPath}</url>
83 <id>ecomp-snapshots</id>
84 <url>${nexusproxy}/${snapshotNexusPath}</url>
88 <url>dav:${nexusproxy}${siteNexusPath}</url>
90 </distributionManagement>
94 <groupId>org.apache.maven.plugins</groupId>
95 <artifactId>maven-javadoc-plugin</artifactId>
96 <version>2.10.4</version>
98 <failOnError>false</failOnError>
99 <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
101 <groupId>org.umlgraph</groupId>
102 <artifactId>umlgraph</artifactId>
103 <version>5.6</version>
105 <additionalparam>-views</additionalparam>
106 <useStandardDocletOptions>true</useStandardDocletOptions>
111 <!-- configure build -->
112 <!-- *********************************************************************************************************** -->
113 <!-- Plugins and repositories -->
117 <url>http://repo1.maven.org/maven2</url>
121 <url>http://maven.restlet.com</url>
124 <id>ecomp-public</id>
125 <url>${nexusproxy}/${publicNexusPath}</url>
127 <enabled>false</enabled>
131 <id>ecomp-release</id>
132 <url>${nexusproxy}/${releaseNexusPath}</url>
134 <enabled>false</enabled>
138 <id>ecomp-snapshots</id>
139 <url>${nexusproxy}/${snapshotNexusPath}</url>
141 <enabled>false</enabled>
144 </pluginRepositories>
147 <id>ecomp-public</id>
148 <url>https://nexus.onap.org/content/repositories/public/</url>
150 <enabled>false</enabled>
154 <id>ecomp-releases</id>
155 <url>https://nexus.onap.org/content/repositories/releases/</url>
157 <enabled>false</enabled>
161 <id>ecomp-snapshots</id>
162 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
164 <enabled>false</enabled>
169 <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm/</url>
172 <id>camunda-public</id>
173 <url>https://app.camunda.com/nexus/content/groups/public</url>
176 <!-- TODO: remove from ONAP environemnt -->
177 <id>onap-releases</id>
178 <url>https://nexus.onap.org/content/repositories/releases/</url>
180 <enabled>false</enabled>
184 <!-- TODO: remove from ONAP environemnt -->
185 <id>onap-snapshots</id>
186 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
188 <enabled>false</enabled>
192 <!-- *********************************************************************************************************** -->
197 <directory>src/main/resources</directory>
198 <filtering>true</filtering>
201 <directory>target/generated-sources/license</directory>
203 <include>third-party-licenses.txt</include>
207 <directory>target/generated-resources/licenses</directory>
209 <include>*.*</include>
211 <targetPath>third-party-licenses</targetPath>
216 <groupId>org.sonatype.plugins</groupId>
217 <artifactId>nexus-staging-maven-plugin</artifactId>
218 <version>1.6.7</version>
219 <extensions>true</extensions>
221 <nexusUrl>${nexusproxy}</nexusUrl>
222 <stagingProfileId>176c31dfe190a</stagingProfileId>
223 <serverId>ecomp-staging</serverId>
227 <groupId>org.apache.maven.plugins</groupId>
228 <artifactId>maven-deploy-plugin</artifactId>
229 <version>2.8</version>
230 <!-- This version supports the "deployAtEnd" parameter -->
236 <groupId>org.apache.maven.plugins</groupId>
237 <artifactId>maven-compiler-plugin</artifactId>
238 <version>3.6.1</version>
241 <compilerArgument>-Xlint</compilerArgument>
242 <verbose>true</verbose>
243 <showDeprecation>true</showDeprecation>
244 <showWarnings>true</showWarnings>
248 <arg>-parameters</arg>
253 <groupId>org.apache.maven.plugins</groupId>
254 <artifactId>maven-ejb-plugin</artifactId>
255 <version>2.2.1</version>
257 <ejbVersion>3.0</ejbVersion>
260 <addClasspath>true</addClasspath>
266 <groupId>org.apache.maven.plugins</groupId>
267 <artifactId>maven-checkstyle-plugin</artifactId>
268 <version>2.17</version>
271 <includes>**/org/openecomp/**/*.java</includes>
272 <configLocation>/google_checks.xml</configLocation>
276 <groupId>org.codehaus.mojo</groupId>
277 <artifactId>findbugs-maven-plugin</artifactId>
278 <version>2.5.2</version>
280 <includeFilterFile>project-configs/code-tools/findbugs_include_filter.xml</includeFilterFile>
281 <nested>true</nested>
282 <findbugsXmlOutput>true</findbugsXmlOutput>
283 <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
284 <xmlOutput>true</xmlOutput>
288 <groupId>org.codehaus.mojo</groupId>
289 <artifactId>sonar-maven-plugin</artifactId>
290 <version>5.1</version>
293 <artifactId>maven-scm-plugin</artifactId>
294 <version>1.8.1</version>
296 <tag>${project.artifactId}-${project.version}</tag>
300 <groupId>org.apache.maven.plugins</groupId>
301 <artifactId>maven-javadoc-plugin</artifactId>
302 <version>2.9</version>
305 <groupId>org.apache.maven.plugins</groupId>
306 <artifactId>maven-site-plugin</artifactId>
307 <version>3.6</version>
310 <groupId>org.apache.maven.wagon</groupId>
311 <artifactId>wagon-webdav-jackrabbit</artifactId>
312 <version>2.10</version>
317 <groupId>org.codehaus.mojo</groupId>
318 <artifactId>cobertura-maven-plugin</artifactId>
319 <version>2.5.2</version>
327 <groupId>org.codehaus.mojo</groupId>
328 <artifactId>versions-maven-plugin</artifactId>
329 <version>1.3.1</version>
333 <groupId>com.fortify.ps.maven.plugin</groupId>
334 <artifactId>sca-maven-plugin</artifactId>
335 <version>4.20</version>
337 <buildId>mso-${project.version}</buildId>
342 <groupId>org.jacoco</groupId>
343 <artifactId>jacoco-maven-plugin</artifactId>
344 <version>${jacoco.version}</version>
347 <id>prepare-agent</id>
349 <goal>prepare-agent</goal>
358 <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
359 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
365 <groupId>org.codehaus.mojo</groupId>
366 <artifactId>license-maven-plugin</artifactId>
367 <version>1.15</version>
369 <inceptionYear>2017</inceptionYear>
370 <projectName>ONAP - SO</projectName>
371 <licenseName>apache_v2</licenseName>
372 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
373 <emptyLineAfterHeader>true</emptyLineAfterHeader>
374 <trimHeaderLine>true</trimHeaderLine>
375 <processStartTag>============LICENSE_START=======================================================</processStartTag>
376 <sectionDelimiter>================================================================================</sectionDelimiter>
377 <processEndTag>============LICENSE_END=========================================================</processEndTag>
379 <include>**/*.java</include>
380 <include>**/*.groovy</include>
383 <exclude>**/com/att/**</exclude>
388 <id>verify-headers</id>
390 <goal>check-file-header</goal>
393 <failOnNotUptodateHeader>true</failOnNotUptodateHeader>
394 <failOnMissingHeader>true</failOnMissingHeader>
400 <groupId>org.codehaus.gmaven</groupId>
401 <artifactId>groovy-maven-plugin</artifactId>
402 <version>2.0</version>
404 <!-- set absolute base path from super pom -->
406 <id>find-basepath</id>
407 <phase>validate</phase>
415 log.info('## define projects super pom absolute path through basepath_marker')
416 String p = "basepath_marker";
419 def _max_child_poms = 0
420 while( _max_child_poms++ < 5 ) {
429 String basePath = f.getCanonicalPath();
430 basePath = basePath.substring( 0, basePath.lastIndexOf( File.separator ) );
431 project.properties['base-path'] = basePath.replace( '\\' , '/');
432 log.info(' - used base path = ' + project.properties['base-path'] );
434 log.error( 'Could not find basepath_marker marker file!' );
444 <groupId>net.revelc.code.formatter</groupId>
445 <artifactId>formatter-maven-plugin</artifactId>
446 <version>2.9.0</version>
453 <phase>process-sources</phase>
455 <skip>${format.skipExecute}</skip>
456 <configFile>${base-path}/project-configs/code-tools/onap-eclipse-format.xml</configFile>
464 <phase>process-sources</phase>
466 <skip>${format.skipExecute}</skip>
467 <sourceDirectory>${project.basedir}</sourceDirectory>
468 <configXmlFile>${base-path}/project-configs/code-tools/pom-format.properties</configXmlFile>
470 <include>pom.xml</include>
475 <id>validate-java</id>
477 <goal>validate</goal>
480 <skip>${format.skipValidate}</skip>
481 <configFile>${base-path}/project-configs/code-tools/onap-eclipse-format.xml</configFile>
485 <id>validate-poms</id>
487 <goal>validate</goal>
490 <skip>${format.skipValidate}</skip>
491 <configFile>${base-path}/project-configs/code-tools/pom-format.properties</configFile>
493 <include>pom.xml</include>
500 <groupId>com.fasterxml.jackson.core</groupId>
501 <artifactId>jackson-annotations</artifactId>
502 <version>2.9.8</version>
507 <groupId>org.apache.maven.plugins</groupId>
508 <artifactId>maven-enforcer-plugin</artifactId>
509 <version>3.0.0-M3</version>
512 <id>enforce-property</id>
518 <id>enforce-no-snapshots</id>
524 <id>enforce-banned-dependencies</id>
532 <exclude>org.powermock</exclude>
534 <searchTransitive>false</searchTransitive>
535 </bannedDependencies>
546 <groupId>io.fabric8</groupId>
547 <artifactId>fabric8-maven-plugin</artifactId>
548 <version>${io.fabric8.version}</version>
550 <skip>${docker.skip}</skip>
551 <skipBuild>${docker.skip.build}</skipBuild>
552 <skipPush>${docker.skip.push}</skipPush>
553 <dockerHost>${docker.newHost}</dockerHost>
554 <!-- 1. Update address to your local docker VM. 2. Add IP to your NO_PROXY environment variable -->
555 <certPath>${docker.host.cert.path}</certPath>
556 <!-- Add -Ddocker.host.cert.pat="path to your local certs directory" to maven build command -->
557 <pushRegistry>${dockerPushRepo}</pushRegistry>
558 <!-- Update .m2/settings.xml Add server id settings.dockerRepository, username, and password -->
559 <pullRegistry>${dockerPullRepo}</pullRegistry>
560 <!-- If docker repo is not public. Update .m2/settings.xml Add server id settings.dockerRepository, username,
564 <alias>service</alias>
565 <name>${project.artifactId}:${project.version}</name>
567 <dockerFileDir>${project.build.directory}</dockerFileDir>
583 <groupId>org.apache.maven.plugins</groupId>
584 <artifactId>maven-surefire-plugin</artifactId>
585 <version>2.20</version>
587 <systemPropertyVariables>
588 <so.log.level>DEBUG</so.log.level>
589 </systemPropertyVariables>
590 <rerunFailingTestsCount>2</rerunFailingTestsCount>
591 <parallel>classes</parallel>
592 <useUnlimitedThreads>false</useUnlimitedThreads>
593 <threadCount>1</threadCount>
597 <groupId>org.apache.maven.plugins</groupId>
598 <artifactId>maven-failsafe-plugin</artifactId>
599 <version>2.20</version>
602 <systemPropertyVariables>
603 <so.log.level>DEBUG</so.log.level>
604 </systemPropertyVariables>
605 <rerunFailingTestsCount>2</rerunFailingTestsCount>
609 <groupId>org.apache.maven.plugins</groupId>
610 <artifactId>maven-dependency-plugin</artifactId>
613 <id>extract-docker-file</id>
620 <groupId>org.onap.so</groupId>
621 <artifactId>deployment-configs</artifactId>
622 <version>${project.version}</version>
623 <outputDirectory>${project.build.directory}</outputDirectory>
624 <includes>*,scripts/**,certs/**, logger/*.xml</includes>
625 <excludes>Kubernetes</excludes>
633 <groupId>org.apache.maven.plugins</groupId>
634 <artifactId>maven-jar-plugin</artifactId>
635 <version>3.0.2</version>
639 <phase>package</phase>
645 <classifier>${originalClassifier}</classifier>
647 <include>**</include>
654 <groupId>org.springframework.boot</groupId>
655 <artifactId>spring-boot-maven-plugin</artifactId>
656 <version>${springboot.version}</version>
661 <goal>build-info</goal>
669 <!-- *********************************************************************************************************** -->
670 <!-- Dependencies -->
673 <groupId>org.onap.logging-analytics</groupId>
674 <artifactId>logging-slf4j</artifactId>
677 <groupId>org.onap.logging-analytics</groupId>
678 <artifactId>logging-filter-base</artifactId>
681 <groupId>org.onap.logging-analytics</groupId>
682 <artifactId>logging-filter-spring</artifactId>
685 <groupId>com.fasterxml.jackson.core</groupId>
686 <artifactId>jackson-core</artifactId>
689 <groupId>com.fasterxml.jackson.module</groupId>
690 <artifactId>jackson-module-jaxb-annotations</artifactId>
693 <groupId>com.fasterxml.jackson.core</groupId>
694 <artifactId>jackson-databind</artifactId>
697 <groupId>com.fasterxml.jackson.core</groupId>
698 <artifactId>jackson-annotations</artifactId>
701 <groupId>com.fasterxml.jackson.jaxrs</groupId>
702 <artifactId>jackson-jaxrs-base</artifactId>
705 <groupId>com.fasterxml.jackson.jaxrs</groupId>
706 <artifactId>jackson-jaxrs-json-provider</artifactId>
709 <groupId>javax.ws.rs</groupId>
710 <artifactId>javax.ws.rs-api</artifactId>
711 <version>${jax.ws.rs}</version>
714 <groupId>javax.annotation</groupId>
715 <artifactId>javax.annotation-api</artifactId>
716 <version>1.3.1</version>
719 <groupId>javax.inject</groupId>
720 <artifactId>javax.inject</artifactId>
724 <groupId>org.mockito</groupId>
725 <artifactId>mockito-core</artifactId>
728 <groupId>org.hamcrest</groupId>
729 <artifactId>hamcrest-core</artifactId>
732 <groupId>org.hamcrest</groupId>
733 <artifactId>hamcrest-library</artifactId>
736 <groupId>junit</groupId>
737 <artifactId>junit</artifactId>
741 <groupId>xmlunit</groupId>
742 <artifactId>xmlunit</artifactId>
743 <version>1.6</version>
747 <groupId>com.github.tomakehurst</groupId>
748 <artifactId>wiremock-standalone</artifactId>
749 <version>2.13.0</version>
753 <groupId>org.mortbay.jetty</groupId>
754 <artifactId>jetty</artifactId>
757 <groupId>com.google.guava</groupId>
758 <artifactId>guava</artifactId>
761 <groupId>com.fasterxml.jackson.core</groupId>
762 <artifactId>jackson-core</artifactId>
765 <groupId>com.fasterxml.jackson.core</groupId>
766 <artifactId>jackson-annotations</artifactId>
769 <groupId>com.fasterxml.jackson.core</groupId>
770 <artifactId>jackson-databind</artifactId>
773 <groupId>org.apache.httpcomponents</groupId>
774 <artifactId>httpclient</artifactId>
777 <groupId>org.skyscreamer</groupId>
778 <artifactId>jsonassert</artifactId>
781 <groupId>xmlunit</groupId>
782 <artifactId>xmlunit</artifactId>
785 <groupId>com.jayway.jsonpath</groupId>
786 <artifactId>json-path</artifactId>
789 <groupId>net.sf.jopt-simple</groupId>
790 <artifactId>jopt-simple</artifactId>
795 <groupId>com.openpojo</groupId>
796 <artifactId>openpojo</artifactId>
797 <version>0.8.10</version>
800 <groupId>com.shazam</groupId>
801 <artifactId>shazamcrest</artifactId>
802 <version>0.11</version>
806 <groupId>com.google.guava</groupId>
807 <artifactId>guava</artifactId>
810 <groupId>org.apache.commons</groupId>
811 <artifactId>commons-lang3</artifactId>
816 <groupId>org.assertj</groupId>
817 <artifactId>assertj-core</artifactId>
818 <version>3.11.1</version>
822 <groupId>com.googlecode.junit-toolbox</groupId>
823 <artifactId>junit-toolbox</artifactId>
824 <version>2.4</version>
827 <dependencyManagement>
829 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
830 <!-- force use of version 4.5 everywhere in transient deps, aligned on WildFly 10 version -->
832 <groupId>org.onap.logging-analytics</groupId>
833 <artifactId>logging-slf4j</artifactId>
834 <version>1.6.6</version>
837 <groupId>org.onap.logging-analytics</groupId>
838 <artifactId>logging-filter-base</artifactId>
839 <version>1.6.6</version>
842 <groupId>org.onap.logging-analytics</groupId>
843 <artifactId>logging-filter-spring</artifactId>
844 <version>1.6.6</version>
847 <groupId>org.apache.httpcomponents</groupId>
848 <artifactId>httpcore</artifactId>
849 <version>4.4.4</version>
850 <scope>compile</scope>
853 <groupId>commons-codec</groupId>
854 <artifactId>commons-codec</artifactId>
855 <version>1.12</version>
856 <scope>compile</scope>
859 <groupId>commons-io</groupId>
860 <artifactId>commons-io</artifactId>
861 <version>2.5</version>
862 <scope>compile</scope>
865 <groupId>com.sun.xml.fastinfoset</groupId>
866 <artifactId>FastInfoset</artifactId>
867 <version>1.2.13</version>
868 <scope>compile</scope>
871 <groupId>org.springframework.boot</groupId>
872 <artifactId>spring-boot-dependencies</artifactId>
873 <version>${springboot.version}</version>
875 <scope>import</scope>
878 <groupId>org.yaml</groupId>
879 <artifactId>snakeyaml</artifactId>
880 <version>1.23</version>
883 <groupId>javax.interceptor</groupId>
884 <artifactId>javax.interceptor-api</artifactId>
885 <version>1.2.2</version>
888 <groupId>org.springframework.boot</groupId>
889 <artifactId>spring-boot-starter-test</artifactId>
890 <version>${springboot.version}</version>
893 <groupId>com.vaadin.external.google</groupId>
894 <artifactId>android-json</artifactId>
899 <groupId>net.javacrumbs.shedlock</groupId>
900 <artifactId>shedlock-spring</artifactId>
901 <version>4.0.0</version>
904 <groupId>net.javacrumbs.shedlock</groupId>
905 <artifactId>shedlock-provider-jdbc-template</artifactId>
906 <version>4.0.0</version>
909 <groupId>org.flywaydb</groupId>
910 <artifactId>flyway-core</artifactId>
911 <version>5.2.4</version>
914 <groupId>org.json</groupId>
915 <artifactId>json</artifactId>
916 <version>20140107</version>
919 </dependencyManagement>
922 <id>docker-image-build</id>
924 <docker.skip>false</docker.skip>
925 <docker.skip.build>false</docker.skip.build>
926 <fabric8.skipResourceValidation>true</fabric8.skipResourceValidation>
930 <id>docker-image-build-push</id>
932 <docker.skip>false</docker.skip>
933 <docker.skip.build>false</docker.skip.build>
934 <docker.skip.push>false</docker.skip.push>
935 <fabric8.skipResourceValidation>true</fabric8.skipResourceValidation>
941 <format.skipValidate>true</format.skipValidate>
942 <format.skipExecute>false</format.skipExecute>
949 <name>m2e.version</name>
953 <originalClassifier />