1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3 <modelVersion>4.0.0</modelVersion>
6 <groupId>org.springframework.boot</groupId>
7 <artifactId>spring-boot-starter-parent</artifactId>
8 <version>1.5.22.RELEASE</version>
12 <groupId>org.onap.ccsdk.parent</groupId>
13 <artifactId>spring-boot-1-starter-parent</artifactId>
14 <version>1.5.2-SNAPSHOT</version>
15 <packaging>pom</packaging>
17 <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
18 <description>Root POM to be used in place of odlparent for CCSDK based projects</description>
19 <url>http://wiki.onap.org</url>
26 <url>https://jira.onap.org/</url>
28 <distributionManagement>
30 <id>ecomp-releases</id>
31 <url>https://nexus.onap.org/content/repositories/releases</url>
34 <id>ecomp-snapshots</id>
35 <url>https://nexus.onap.org/content/repositories/snapshots</url>
37 </distributionManagement>
40 <!-- Sonar properties -->
41 <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
42 <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
43 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
44 <!-- Default Sonar configuration -->
45 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml,${project.reporting.outputDirectory}/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
46 <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
47 <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
49 <!-- Jacoco properties -->
50 <jacoco.version>0.8.5</jacoco.version>
51 <!-- properties from oparent -->
52 <maven.compiler.source>1.8</maven.compiler.source>
53 <maven.compiler.target>1.8</maven.compiler.target>
54 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
55 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
56 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
57 <!-- sitePath may be overridden in the inheriting POM if desired -->
58 <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
60 <!-- If following file exist, auto-generation of swagger.json will be done -->
61 <swagger-properties>${basedir}/src/main/resources/swagger.properties</swagger-properties>
62 <!-- If following file exist, auto-generation of sdk will be done -->
63 <swagger-json>${basedir}/src/main/resources/swagger.json</swagger-json>
64 <!-- end of properties from oparent -->
66 <!-- ONAP repositories -->
67 <onap.nexus.host>nexus.onap.org</onap.nexus.host>
68 <onap.nexus.port>443</onap.nexus.port>
69 <onap.nexus.protocol>https</onap.nexus.protocol>
70 <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
71 <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
72 <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
73 <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
74 <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
75 <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
77 <java.version.source>1.8</java.version.source>
78 <java.version.target>1.8</java.version.target>
79 <bundle.plugin.version>2.5.0</bundle.plugin.version>
80 <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
81 <features.file>features.xml</features.file>
82 <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
83 <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
84 <checkstyle.skip>true</checkstyle.skip>
86 <!-- CCSDK component versions -->
87 <ccsdk.cds.version>0.7.1-SNAPSHOT</ccsdk.cds.version>
88 <ccsdk.sli.core.version>0.7.1-SNAPSHOT</ccsdk.sli.core.version>
89 <ccsdk.sli.adaptors.version>0.7.1-SNAPSHOT</ccsdk.sli.adaptors.version>
90 <ccsdk.sli.northbound.version>0.7.1-SNAPSHOT</ccsdk.sli.northbound.version>
91 <ccsdk.sli.plugins.version>0.7.1-SNAPSHOT</ccsdk.sli.plugins.version>
92 <ccsdk.distribution.version>0.7.1-SNAPSHOT</ccsdk.distribution.version>
93 <sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
94 <sdnctl.aai.service.version>${ccsdk.sli.adaptors.version}</sdnctl.aai.service.version>
95 <sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
96 <sdnctl.mdsal.resource.version>${ccsdk.sli.adaptors.version}</sdnctl.mdsal.resource.version>
97 <sdnctl.slipluginutils.version>${ccsdk.sli.core.version}</sdnctl.slipluginutils.version>
99 <!-- Managed dependency versions -->
100 <apache.httpcomponents.core.version>4.4.12</apache.httpcomponents.core.version>
101 <apache.httpcomponents.client.version>4.5.10</apache.httpcomponents.client.version>
102 <jersey.version>2.25.1</jersey.version>
103 <mariadb.connector.version>2.4.4</mariadb.connector.version>
104 <dependency-list.file>direct-dependencies.txt</dependency-list.file>
107 <dependencyManagement>
110 <groupId>org.onap.ccsdk.parent</groupId>
111 <artifactId>dependencies-bom</artifactId>
112 <version>1.5.2-SNAPSHOT</version>
114 <scope>import</scope>
117 <groupId>org.onap.ccsdk.sli.core</groupId>
118 <artifactId>sli-common</artifactId>
119 <version>${ccsdk.sli.core.version}</version>
123 <groupId>org.onap.ccsdk.sli.core</groupId>
124 <artifactId>sli-provider</artifactId>
125 <version>${ccsdk.sli.core.version}</version>
128 <groupId>org.onap.ccsdk.sli.core</groupId>
129 <artifactId>ccsdk-sli</artifactId>
130 <version>${ccsdk.sli.core.version}</version>
132 <classifier>features</classifier>
135 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
136 <artifactId>aai-service-provider</artifactId>
137 <version>${sdnctl.aai.service.version}</version>
141 <groupId>org.onap.ccsdk.sli.core</groupId>
142 <artifactId>dblib-provider</artifactId>
143 <version>${sdnctl.dblib.version}</version>
147 </dependencyManagement>
152 <url>https://nexus.onap.org/content/groups/public</url>
154 <enabled>true</enabled>
155 <updatePolicy>never</updatePolicy>
158 <enabled>true</enabled>
159 <updatePolicy>always</updatePolicy>
163 <id>onap-staging</id>
164 <url>https://nexus.onap.org/content/groups/staging</url>
166 <enabled>true</enabled>
167 <updatePolicy>never</updatePolicy>
170 <enabled>true</enabled>
171 <updatePolicy>always</updatePolicy>
175 <id>ecomp-release</id>
176 <name>onap-repository-releases</name>
177 <url>https://nexus.onap.org/content/repositories/releases</url>
179 <enabled>true</enabled>
180 <updatePolicy>never</updatePolicy>
183 <enabled>false</enabled>
187 <id>ecomp-snapshot</id>
188 <name>onap-repository-snapshots</name>
189 <url>https://nexus.onap.org/content/repositories/snapshots</url>
191 <enabled>false</enabled>
194 <enabled>true</enabled>
201 <url>${onap.nexus.public-url}</url>
203 <enabled>true</enabled>
206 <enabled>true</enabled>
210 <id>onap-staging</id>
211 <url>${onap.nexus.staging-url}</url>
213 <enabled>true</enabled>
216 <enabled>true</enabled>
220 <id>onap-snapshot</id>
221 <url>${onap.nexus.snapshot-url}</url>
223 <enabled>false</enabled>
226 <enabled>true</enabled>
229 <!-- Black Duck plugin dependencies -->
232 <name>JCenter Repository</name>
233 <url>http://jcenter.bintray.com</url>
238 <name>Restlet Repository</name>
239 <url>http://maven.restlet.com</url>
241 </pluginRepositories>
246 <!-- Plugins from ONAP oparent -->
248 <groupId>org.apache.maven.plugins</groupId>
249 <artifactId>maven-deploy-plugin</artifactId>
250 <!-- This version supports the "deployAtEnd" parameter -->
251 <version>2.8</version>
257 <groupId>org.apache.maven.plugins</groupId>
258 <artifactId>maven-site-plugin</artifactId>
259 <version>3.6</version>
262 <groupId>org.apache.maven.wagon</groupId>
263 <artifactId>wagon-webdav-jackrabbit</artifactId>
264 <version>2.10</version>
268 <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
270 <groupId>org.sonarsource.scanner.maven</groupId>
271 <artifactId>sonar-maven-plugin</artifactId>
272 <version>${sonar.scanner.version}</version>
274 <!-- end of plugins from ONAP version (parent of oparent) -->
277 <groupId>org.apache.maven.plugins</groupId>
278 <artifactId>maven-surefire-plugin</artifactId>
279 <version>2.22.0</version>
281 <!-- Sets the VM argument line used when unit tests are run. -->
282 <argLine>${surefireArgLine}</argLine>
283 <!-- Excludes integration tests when unit tests are run. -->
285 <exclude>**/IT*.java</exclude>
290 <groupId>org.apache.maven.plugins</groupId>
291 <artifactId>maven-failsafe-plugin</artifactId>
292 <version>2.22.0</version>
294 <!-- Ensures that both integration-test and verify goals of the Failsafe
295 Maven plugin are executed. -->
297 <id>integration-tests</id>
299 <goal>integration-test</goal>
303 <!-- Sets the VM argument line used when integration tests are run. -->
304 <argLine>${failsafeArgLine}</argLine>
310 <!-- End of plugins from ONAP oparent -->
312 <groupId>org.codehaus.mojo</groupId>
313 <artifactId>properties-maven-plugin</artifactId>
314 <version>1.0.0</version>
318 <goal>set-system-properties</goal>
323 <name>maven.wagon.http.ssl.allowall</name>
324 <value>${ssl.allowall}</value>
327 <name>maven.wagon.http.ssl.insecure</name>
328 <value>${ssl.insecure}</value>
337 <groupId>org.codehaus.mojo</groupId>
338 <artifactId>versions-maven-plugin</artifactId>
339 <version>2.5</version>
341 <processAllModules>true</processAllModules>
345 <artifactId>maven-scm-plugin</artifactId>
346 <version>1.8.1</version>
348 <tag>${project.artifactId}-${project.version}</tag>
352 <groupId>com.github.ferstl</groupId>
353 <artifactId>depgraph-maven-plugin</artifactId>
354 <version>3.3.0</version>
356 <graphFormat>text</graphFormat>
357 <outputFileName>${dependency-list.file}</outputFileName>
358 <outputDirectory>${project.basedir}</outputDirectory>
359 <transitiveExcludes>*</transitiveExcludes>
360 <showVersions>true</showVersions>
361 <showGroupIds>true</showGroupIds>
368 <!-- Plugins from oparent version (parent of oparent) -->
370 <groupId>org.apache.maven.plugins</groupId>
371 <artifactId>maven-deploy-plugin</artifactId>
374 <groupId>org.apache.maven.plugins</groupId>
375 <artifactId>maven-site-plugin</artifactId>
378 <groupId>org.apache.maven.plugins</groupId>
379 <artifactId>maven-enforcer-plugin</artifactId>
381 <!-- end of plugins from oparent version (parent of oparent) -->
383 <!-- Plugins from oparent -->
385 <artifactId>maven-checkstyle-plugin</artifactId>
386 <version>2.17</version>
389 <groupId>org.onap.oparent</groupId>
390 <artifactId>checkstyle</artifactId>
391 <version>1.2.2</version>
396 <id>onap-license</id>
400 <phase>process-sources</phase>
402 <configLocation>onap-checkstyle/check-license.xml</configLocation>
403 <includeResources>false</includeResources>
404 <includeTestSourceDirectory>true</includeTestSourceDirectory>
405 <includeTestResources>false</includeTestResources>
406 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
409 <consoleOutput>true</consoleOutput>
410 <failOnViolation>false</failOnViolation>
414 <id>onap-java-style</id>
418 <phase>process-sources</phase>
420 <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
421 with minor changes -->
422 <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
423 <!-- <sourceDirectory> is needed so that checkstyle ignores the generated
424 sources directory -->
425 <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
426 <includeResources>true</includeResources>
427 <includeTestSourceDirectory>true</includeTestSourceDirectory>
428 <includeTestResources>true</includeTestResources>
431 <consoleOutput>true</consoleOutput>
432 <failOnViolation>false</failOnViolation>
438 <groupId>org.codehaus.mojo</groupId>
439 <artifactId>build-helper-maven-plugin</artifactId>
440 <version>1.12</version>
442 <!-- Jacoco / Sonar -->
444 <groupId>org.jacoco</groupId>
445 <artifactId>jacoco-maven-plugin</artifactId>
446 <version>${jacoco.version}</version>
449 <id>pre-unit-test</id>
451 <goal>prepare-agent</goal>
454 <!-- Sets the path to the file which contains the execution data. -->
455 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
456 <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
457 <propertyName>surefireArgLine</propertyName>
460 <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. -->
462 <id>post-unit-test</id>
468 <!-- Sets the path to the file which contains the execution data. -->
469 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
470 <!-- Sets the output directory for the code coverage report. -->
471 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
475 <id>pre-integration-test</id>
476 <phase>pre-integration-test</phase>
478 <goal>prepare-agent</goal>
481 <!-- Sets the path to the file which contains the execution data. -->
482 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
483 <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
484 <propertyName>failsafeArgLine</propertyName>
487 <!-- Ensures that the code coverage report for integration tests after integration tests have been run. -->
489 <id>post-integration-test</id>
490 <phase>post-integration-test</phase>
495 <!-- Sets the path to the file which contains the execution data. -->
496 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
497 <!-- Sets the output directory for the code coverage report. -->
498 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
502 <id>default-prepare-agent</id>
504 <goal>prepare-agent</goal>
508 <id>default-report</id>
509 <phase>prepare-package</phase>
515 <id>default-check</id>
522 <element>PACKAGE</element>
525 <counter>COMPLEXITY</counter>
526 <value>COVEREDRATIO</value>
527 <minimum>0.0</minimum>
537 <groupId>org.apache.maven.plugins</groupId>
538 <artifactId>maven-surefire-plugin</artifactId>
541 <groupId>org.apache.maven.plugins</groupId>
542 <artifactId>maven-failsafe-plugin</artifactId>
544 <!-- end of plugins from oparent -->
546 <groupId>org.apache.maven.plugins</groupId>
547 <artifactId>maven-javadoc-plugin</artifactId>
548 <version>2.10.4</version>
551 <id>attach-javadocs</id>
556 <additionalparam>-Xdoclint:none</additionalparam>
567 <artifactId>maven-javadoc-plugin</artifactId>
568 <version>2.10.4</version>
570 <failOnError>false</failOnError>
571 <additionalparam>-Xdoclint:none</additionalparam>
575 <groupId>org.jacoco</groupId>
576 <artifactId>jacoco-maven-plugin</artifactId>
577 <version>${jacoco.version}</version>
581 <!-- select non-aggregate reports -->
582 <report>report</report>
591 <!-- Profiles from ONAP oparent -->
593 <id>generate-json</id>
596 <exists>${swagger-properties}</exists>
599 <name>swagger-sdk.generate-json</name>
605 <groupId>org.codehaus.mojo</groupId>
606 <artifactId>properties-maven-plugin</artifactId>
607 <version>1.0.0</version>
610 <phase>initialize</phase>
612 <goal>read-project-properties</goal>
616 <file>${basedir}/src/main/resources/swagger.properties</file>
623 <groupId>com.github.kongchen</groupId>
624 <artifactId>swagger-maven-plugin</artifactId>
625 <version>3.1.4</version>
629 <locations>${api-rest-package}</locations>
630 <schemes>http,https</schemes>
631 <host>${api-host-ip}:${api-host-port}</host>
632 <basePath>${api-base-path}</basePath>
634 <title>${api-title}</title>
635 <version>${api-version}</version>
636 <description>${api-description}</description>
638 <name>${api-license}</name>
641 <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
647 <phase>compile</phase>
649 <goal>generate</goal>
655 <groupId>org.apache.maven.plugins</groupId>
656 <artifactId>maven-install-plugin</artifactId>
657 <version>2.3.1</version>
660 <id>install-file-id</id>
661 <phase>install</phase>
663 <goal>install-file</goal>
666 <file>${basedir}/src/main/resources/swagger.json</file>
667 <groupId>${project.groupId}</groupId>
668 <artifactId>${project.artifactId}-swagger-schema</artifactId>
669 <version>${project.version}</version>
670 <packaging>json</packaging>
679 <id>generate-sdk</id>
682 <exists>${swagger-json}</exists>
685 <name>swagger-sdk.generate-java-sdk</name>
691 <groupId>org.apache.maven.plugins</groupId>
692 <artifactId>maven-antrun-plugin</artifactId>
693 <version>1.8</version>
696 <phase>initialize</phase>
697 <id>ant-create-script</id>
699 <exportAntProperties>true</exportAntProperties>
702 <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
703 <condition property="is_windows" value="true">
704 <os family="windows"/>
706 <condition property="isLinux" value="true">
710 <equals arg1="${is_windows}" arg2="true"/>
712 <property name="swagger.sdk.script.file" value="generated-source-script.bat"/>
713 <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
714 <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
717 <property name="swagger.sdk.script.file" value="generated-source-script.sh"/>
718 <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
719 <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
720 <chmod file="${project.build.directory}${file.separator}generated-source-script.sh" perm="755"/>
732 <groupId>ant-contrib</groupId>
733 <artifactId>ant-contrib</artifactId>
734 <version>1.0b3</version>
737 <groupId>ant</groupId>
738 <artifactId>ant</artifactId>
745 <groupId>io.swagger</groupId>
746 <artifactId>swagger-codegen-maven-plugin</artifactId>
747 <version>2.2.1</version>
751 <goal>generate</goal>
754 <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
755 <output>${project.build.directory}/generated-sources</output>
756 <language>java</language>
758 <dateLibrary>joda</dateLibrary>
760 <library>jersey2</library>
761 <groupId>${project.groupId}</groupId>
762 <artifactId>${project.artifactId}-java-sdk</artifactId>
763 <artifactVersion>${project.version}</artifactVersion>
764 <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
765 <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
766 <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
772 <groupId>org.codehaus.mojo</groupId>
773 <artifactId>exec-maven-plugin</artifactId>
774 <version>1.5.0</version>
777 <id>swagger-generate-sources</id>
778 <phase>generate-sources</phase>
783 <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
789 <groupId>org.apache.maven.plugins</groupId>
790 <artifactId>maven-clean-plugin</artifactId>
791 <version>3.0.0</version>
794 <id>clean-generated-files</id>
795 <phase>generate-sources</phase>
802 <directory>${project.build.directory}/generated-sources</directory>
813 <groupId>org.onap.msb.swagger-sdk</groupId>
814 <artifactId>swagger-sdk</artifactId>
815 <version>1.0.0</version>
820 <id>sonar-jacoco-aggregate</id>
823 <name>onap.jacoco.aggregateFile</name>
829 <groupId>org.jacoco</groupId>
830 <artifactId>jacoco-maven-plugin</artifactId>
837 <phase>generate-resources</phase>
839 <destFile>${onap.jacoco.aggregateFile}</destFile>
842 <directory>${project.basedir}</directory>
844 <include>**/target/code-coverage/*.exec</include>
855 <!-- End of profiles from ONAP oparent -->