1 <?xml version="1.0" encoding="UTF-8"?>
3 ################################################################################
4 # Copyright 2019 highstreet technologies and others
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
19 <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">
20 <modelVersion>4.0.0</modelVersion>
23 <groupId>org.opendaylight.mdsal</groupId>
24 <artifactId>binding-parent</artifactId>
25 <version>4.0.14</version>
29 <groupId>org.o-ran-sc.oam.features.parent</groupId>
30 <artifactId>binding-parent</artifactId>
31 <version>2.0.0-SNAPSHOT</version>
32 <packaging>pom</packaging>
34 <name>o-ran-sc features binding-parent</name>
35 <description>Root POM to be used in place of odlparent for CCSDK based projects</description>
36 <url>http://wiki.o-ran-sc.org</url>
43 <url>https://jira.o-ran-sc.org/</url>
45 <distributionManagement>
47 <id>ecomp-releases</id>
48 <url>${onap.nexus.release-url}</url>
51 <id>ecomp-snapshots</id>
52 <url>${onap.nexus.snapshot-url}</url>
54 </distributionManagement>
57 <!-- Sonar properties -->
58 <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
59 <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
60 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
61 <!-- Default Sonar configuration -->
62 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml,${project.reporting.outputDirectory}/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
63 <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
64 <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
66 <!-- Jacoco properties -->
67 <jacoco.version>0.8.5</jacoco.version>
69 <!-- properties from oparent -->
70 <maven.compiler.source>8</maven.compiler.source>
71 <maven.compiler.target>8</maven.compiler.target>
72 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
73 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
74 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
75 <!-- sitePath may be overridden in the inheriting POM if desired -->
76 <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
78 <!-- If following file exist, auto-generation of swagger.json will be done -->
79 <swagger-properties>${basedir}/src/main/resources/swagger.properties</swagger-properties>
80 <!-- If following file exist, auto-generation of sdk will be done -->
81 <swagger-json>${basedir}/src/main/resources/swagger.json</swagger-json>
82 <!-- end of properties from oparent -->
84 <!-- ONAP repositories -->
85 <onap.nexus.host>nexus.onap.org</onap.nexus.host>
86 <onap.nexus.port>443</onap.nexus.port>
87 <onap.nexus.protocol>https</onap.nexus.protocol>
88 <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
89 <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
90 <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
91 <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
92 <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
93 <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
95 <!-- OpenDaylight repositories -->
96 <opendaylight.nexus.public-url>https://nexus.opendaylight.org/content/repositories/public/</opendaylight.nexus.public-url>
97 <opendaylight.nexus.snapshot-url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</opendaylight.nexus.snapshot-url>
99 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
100 <java.version.source>8</java.version.source>
101 <java.version.target>8</java.version.target>
102 <bundle.plugin.version>2.5.0</bundle.plugin.version>
103 <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
104 <features.file>features.xml</features.file>
105 <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
106 <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
107 <checkstyle.skip>true</checkstyle.skip>
109 <!-- logging-analytics versions -->
110 <logging-analytics.version>1.6.6</logging-analytics.version>
112 <!-- CCSDK component versions -->
113 <ccsdk.cds.version>1.0.0-SNAPSHOT</ccsdk.cds.version>
114 <ccsdk.features.version>1.0.0-SNAPSHOT</ccsdk.features.version>
115 <ccsdk.sli.core.version>1.0.0-SNAPSHOT</ccsdk.sli.core.version>
116 <ccsdk.sli.adaptors.version>1.0.0-SNAPSHOT</ccsdk.sli.adaptors.version>
117 <ccsdk.sli.northbound.version>1.0.0-SNAPSHOT</ccsdk.sli.northbound.version>
118 <ccsdk.sli.plugins.version>1.0.0-SNAPSHOT</ccsdk.sli.plugins.version>
119 <ccsdk.distribution.version>1.0.0-SNAPSHOT</ccsdk.distribution.version>
120 <sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
121 <sdnctl.aai.service.version>${ccsdk.sli.adaptors.version}</sdnctl.aai.service.version>
122 <sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
123 <sdnctl.mdsal.resource.version>${ccsdk.sli.adaptors.version}</sdnctl.mdsal.resource.version>
124 <sdnctl.slipluginutils.version>${ccsdk.sli.core.version}</sdnctl.slipluginutils.version>
126 <!-- Support libraries used by OpenDaylight -->
127 <odl.controller.mdsal.version>1.10.3</odl.controller.mdsal.version>
128 <odl.mdsal.version>4.0.14</odl.mdsal.version>
129 <odl.mdsal.model.version>2.0.14</odl.mdsal.model.version>
130 <odl.netconf.restconf.version>1.10.3</odl.netconf.restconf.version>
131 <odl.netconf.netconf.version>1.7.3</odl.netconf.netconf.version>
132 <odl.netconf.sal.rest.docgen.version>1.10.3</odl.netconf.sal.rest.docgen.version>
134 <!-- Used by aaa, vtn -->
135 <commons.codec.version>1.13</commons.codec.version>
136 <!-- Used by netconf, ovsdb -->
137 <commons.lang3.version>3.8.1</commons.lang3.version>
138 <!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
139 <commons.lang.version>2.6</commons.lang.version>
140 <!-- Used by neutron; see also controller, vtn -->
141 <commons.net.version>3.6</commons.net.version>
142 <!-- Used by neutron -->
143 <eclipse.persistence.version>2.7.4</eclipse.persistence.version>
145 <felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
146 <!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
147 <gson.version>2.8.5</gson.version>
148 <!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
149 <guava.version>25.1-jre</guava.version>
150 <!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
151 integration/distribution, snmp4sdn, toolkit, ttp -->
152 <jackson.version>2.9.10</jackson.version>
153 <!-- Used by snmp4sdn, yangtools -->
154 <javassist.version>3.24.1-GA</javassist.version>
156 <!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
157 <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
158 <jersey.version>2.25.1</jersey.version>
160 <jersey.client.version>2.25.1</jersey.client.version>
162 <!-- New packages for jersey migration 1.17 to 2.8 -->
163 <!-- appache.geronimo.bundle for DocGen -->
164 <!-- Used by aaa, iotdm, netconf, ovsdb, sfc -->
165 <org.json.version>20131018</org.json.version>
167 <!-- Used everywhere -->
168 <junit.version>4.12</junit.version>
169 <!-- Used by coretutorials, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
170 <logback.version>1.2.3</logback.version>
171 <!-- Used by nic, sfc, sxp, tsdr -->
172 <mockito.version>1.10.19</mockito.version>
173 <!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
174 <netty.version>4.1.42.Final</netty.version>
175 <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
176 <slf4j.version>1.7.25</slf4j.version>
177 <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
178 <spring.version>4.3.25.RELEASE</spring.version>
180 <!-- Extra support libraries used by SDN-C -->
181 <jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.version>
182 <antlr.version>4.7.2</antlr.version>
184 <eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
186 <!-- Managed dependency versions -->
187 <apache.httpcomponents.core.version>4.4.12</apache.httpcomponents.core.version>
188 <apache.httpcomponents.client.version>4.5.10</apache.httpcomponents.client.version>
189 <derby.version>10.14.2.0</derby.version>
190 <eelf.version>1.0.0</eelf.version>
191 <grpc.version>1.21.1</grpc.version>
192 <mariadb.connector.version>2.4.4</mariadb.connector.version>
193 <mariadb4j.version>2.4.0</mariadb4j.version>
194 <testng.version>6.14.3</testng.version>
195 <tomcat-jdbc.version>9.0.30</tomcat-jdbc.version>
196 <jetty.version>9.4.12.v20180830</jetty.version>
197 <skip.karaf.featureTest>true</skip.karaf.featureTest>
198 <dependency-list.file>direct-dependencies.txt</dependency-list.file>
201 <dependencyManagement>
203 <!-- Note: If value in BOM conflicts with value inherited from
204 parent pom, inherited value takes precedence. This seems more like
205 a bug than a feature, but this is how maven 3.6 works -->
207 <groupId>org.o-ran-sc.oam.features.parent</groupId>
208 <artifactId>dependencies-odl-bom</artifactId>
209 <version>2.0.0-SNAPSHOT</version>
211 <scope>import</scope>
214 <groupId>org.onap.logging-analytics</groupId>
215 <artifactId>logging-slf4j</artifactId>
216 <version>${logging-analytics.version}</version>
219 <groupId>org.onap.logging-analytics</groupId>
220 <artifactId>logging-filter-base</artifactId>
221 <version>${logging-analytics.version}</version>
224 <groupId>junit</groupId>
225 <artifactId>junit</artifactId>
226 <version>${junit.version}</version>
230 <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
231 <artifactId>sdnr-wt-devicemanager-model</artifactId>
232 <version>1.0.0-SNAPSHOT</version>
233 <scope>provided</scope>
236 <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
237 <artifactId>sdnr-wt-netconfnode-state-service-model</artifactId>
238 <version>1.0.0-SNAPSHOT</version>
239 <scope>provided</scope>
242 </dependencyManagement>
247 <url>${onap.nexus.public-url}</url>
249 <enabled>true</enabled>
250 <updatePolicy>never</updatePolicy>
253 <enabled>true</enabled>
254 <updatePolicy>always</updatePolicy>
258 <id>onap-staging</id>
259 <url>${onap.nexus.staging-url}</url>
261 <enabled>true</enabled>
262 <updatePolicy>never</updatePolicy>
265 <enabled>true</enabled>
266 <updatePolicy>always</updatePolicy>
270 <id>ecomp-release</id>
271 <name>onap-repository-releases</name>
272 <url>${onap.nexus.release-url}</url>
274 <enabled>true</enabled>
275 <updatePolicy>never</updatePolicy>
278 <enabled>false</enabled>
282 <id>ecomp-snapshot</id>
283 <name>onap-repository-snapshots</name>
284 <url>${onap.nexus.snapshot-url}</url>
286 <enabled>false</enabled>
289 <enabled>true</enabled>
293 <id>opendaylight-mirror</id>
294 <name>opendaylight-mirror</name>
295 <url>${opendaylight.nexus.public-url}</url>
297 <enabled>true</enabled>
298 <updatePolicy>never</updatePolicy>
301 <enabled>false</enabled>
305 <id>opendaylight-snapshot</id>
306 <name>opendaylight-snapshot</name>
307 <url>${opendaylight.nexus.snapshot-url}</url>
309 <enabled>false</enabled>
312 <enabled>true</enabled>
320 <url>${onap.nexus.public-url}</url>
322 <enabled>true</enabled>
325 <enabled>true</enabled>
329 <id>onap-staging</id>
330 <url>${onap.nexus.staging-url}</url>
332 <enabled>true</enabled>
335 <enabled>true</enabled>
339 <id>onap-snapshot</id>
340 <url>${onap.nexus.snapshot-url}</url>
342 <enabled>false</enabled>
345 <enabled>true</enabled>
349 <id>opendaylight-mirror</id>
350 <name>opendaylight-mirror</name>
351 <url>${opendaylight.nexus.public-url}</url>
353 <enabled>true</enabled>
354 <updatePolicy>never</updatePolicy>
357 <enabled>false</enabled>
361 <id>opendaylight-snapshot</id>
362 <name>opendaylight-snapshot</name>
363 <url>${opendaylight.nexus.snapshot-url}</url>
365 <enabled>false</enabled>
368 <enabled>true</enabled>
371 <!-- Black Duck plugin dependencies -->
374 <name>JCenter Repository</name>
375 <url>http://jcenter.bintray.com</url>
380 <name>Restlet Repository</name>
381 <url>http://maven.restlet.com</url>
383 </pluginRepositories>
388 <!-- Plugins from ONAP version (parent of oparent) -->
390 <groupId>org.apache.maven.plugins</groupId>
391 <artifactId>maven-deploy-plugin</artifactId>
392 <!-- This version supports the "deployAtEnd" parameter -->
393 <version>2.8</version>
399 <groupId>org.apache.maven.plugins</groupId>
400 <artifactId>maven-site-plugin</artifactId>
401 <version>3.6</version>
404 <groupId>org.apache.maven.wagon</groupId>
405 <artifactId>wagon-webdav-jackrabbit</artifactId>
406 <version>2.10</version>
411 <groupId>org.apache.maven.plugins</groupId>
412 <artifactId>maven-enforcer-plugin</artifactId>
413 <version>3.0.0-M2</version>
416 <id>enforce-property</id>
423 <property>onap.nexus.url</property>
424 <message>You must set a onap.nexus.url property in your
425 ~/.m2/settings.xml. See oparent/settings.xml for an example.
433 <id>enforce-no-snapshots</id>
440 <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
441 <onlyWhenRelease>true</onlyWhenRelease>
443 </requireReleaseDeps>
448 <id>enforce-maven</id>
456 </requireJavaVersion>
457 <requireMavenVersion>
458 <version>[3.5.0,)</version>
459 </requireMavenVersion>
464 <id>enforce-banned-dependencies</id>
471 <message>Please always use mockito-core instead of mockito-all (see https://bugs.opendaylight.org/show_bug.cgi?id=7662), and spotbugs:annotations instead of findbugs:annotations</message>
473 <exclude>org.mockito:mockito-all</exclude>
474 <!-- <exclude>com.google.code.findbugs:annotations</exclude> -->
476 </bannedDependencies>
483 <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
485 <groupId>org.sonarsource.scanner.maven</groupId>
486 <artifactId>sonar-maven-plugin</artifactId>
487 <version>${sonar.scanner.version}</version>
489 <!-- end of plugins from ONAP version (parent of oparent) -->
491 <!-- Plugins from ONAP oparent -->
493 <groupId>org.apache.maven.plugins</groupId>
494 <artifactId>maven-surefire-plugin</artifactId>
495 <version>2.22.0</version>
497 <!-- Sets the VM argument line used when unit tests are run. -->
498 <argLine>${surefireArgLine}</argLine>
499 <!-- Excludes integration tests when unit tests are run. -->
501 <exclude>**/IT*.java</exclude>
506 <groupId>org.apache.maven.plugins</groupId>
507 <artifactId>maven-failsafe-plugin</artifactId>
508 <version>2.22.0</version>
510 <!-- Ensures that both integration-test and verify goals of the Failsafe
511 Maven plugin are executed. -->
513 <id>integration-tests</id>
515 <goal>integration-test</goal>
519 <!-- Sets the VM argument line used when integration tests are run. -->
520 <argLine>${failsafeArgLine}</argLine>
526 <!-- End of plugins from ONAP oparent -->
528 <groupId>org.codehaus.mojo</groupId>
529 <artifactId>properties-maven-plugin</artifactId>
530 <version>1.0.0</version>
534 <goal>set-system-properties</goal>
539 <name>maven.wagon.http.ssl.allowall</name>
540 <value>${ssl.allowall}</value>
543 <name>maven.wagon.http.ssl.insecure</name>
544 <value>${ssl.insecure}</value>
553 <groupId>org.codehaus.mojo</groupId>
554 <artifactId>versions-maven-plugin</artifactId>
555 <version>2.5</version>
557 <processAllModules>true</processAllModules>
561 <artifactId>maven-scm-plugin</artifactId>
562 <version>1.8.1</version>
564 <tag>${project.artifactId}-${project.version}</tag>
568 <groupId>com.github.ferstl</groupId>
569 <artifactId>depgraph-maven-plugin</artifactId>
570 <version>3.3.0</version>
572 <graphFormat>text</graphFormat>
573 <outputFileName>${dependency-list.file}</outputFileName>
574 <outputDirectory>${project.basedir}</outputDirectory>
575 <transitiveExcludes>*</transitiveExcludes>
576 <showVersions>true</showVersions>
577 <showGroupIds>true</showGroupIds>
584 <!-- Plugins from oparent version (parent of oparent) -->
586 <groupId>org.apache.maven.plugins</groupId>
587 <artifactId>maven-deploy-plugin</artifactId>
590 <groupId>org.apache.maven.plugins</groupId>
591 <artifactId>maven-site-plugin</artifactId>
593 <!-- end of plugins from oparent version (parent of oparent) -->
595 <!-- Plugins from oparent -->
597 <artifactId>maven-checkstyle-plugin</artifactId>
598 <version>2.17</version>
601 <groupId>org.onap.oparent</groupId>
602 <artifactId>checkstyle</artifactId>
603 <version>1.2.2</version>
608 <id>onap-license</id>
612 <phase>process-sources</phase>
614 <configLocation>onap-checkstyle/check-license.xml</configLocation>
615 <includeResources>false</includeResources>
616 <includeTestSourceDirectory>true</includeTestSourceDirectory>
617 <includeTestResources>false</includeTestResources>
618 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
621 <consoleOutput>true</consoleOutput>
622 <failOnViolation>false</failOnViolation>
626 <id>onap-java-style</id>
630 <phase>process-sources</phase>
632 <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
633 with minor changes -->
634 <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
635 <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
636 <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
637 <includeResources>true</includeResources>
638 <includeTestSourceDirectory>true</includeTestSourceDirectory>
639 <includeTestResources>true</includeTestResources>
642 <consoleOutput>true</consoleOutput>
643 <failOnViolation>false</failOnViolation>
649 <groupId>org.codehaus.mojo</groupId>
650 <artifactId>build-helper-maven-plugin</artifactId>
651 <version>1.12</version>
653 <!-- Jacoco / Sonar -->
655 <groupId>org.jacoco</groupId>
656 <artifactId>jacoco-maven-plugin</artifactId>
657 <version>${jacoco.version}</version>
660 <id>pre-unit-test</id>
662 <goal>prepare-agent</goal>
665 <!-- Sets the path to the file which contains the execution data. -->
666 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
667 <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
668 <propertyName>surefireArgLine</propertyName>
671 <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. -->
673 <id>post-unit-test</id>
679 <!-- Sets the path to the file which contains the execution data. -->
680 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
681 <!-- Sets the output directory for the code coverage report. -->
682 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
686 <id>pre-integration-test</id>
687 <phase>pre-integration-test</phase>
689 <goal>prepare-agent</goal>
692 <!-- Sets the path to the file which contains the execution data. -->
693 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
694 <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
695 <propertyName>failsafeArgLine</propertyName>
698 <!-- Ensures that the code coverage report for integration tests after integration tests have been run. -->
700 <id>post-integration-test</id>
701 <phase>post-integration-test</phase>
706 <!-- Sets the path to the file which contains the execution data. -->
707 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
708 <!-- Sets the output directory for the code coverage report. -->
709 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
713 <id>default-prepare-agent</id>
715 <goal>prepare-agent</goal>
719 <id>default-report</id>
720 <phase>prepare-package</phase>
726 <id>default-check</id>
733 <element>PACKAGE</element>
736 <counter>COMPLEXITY</counter>
737 <value>COVEREDRATIO</value>
738 <minimum>0.0</minimum>
748 <groupId>org.apache.maven.plugins</groupId>
749 <artifactId>maven-surefire-plugin</artifactId>
752 <groupId>org.apache.maven.plugins</groupId>
753 <artifactId>maven-failsafe-plugin</artifactId>
755 <!-- end of plugins from oparent -->
757 <groupId>org.apache.maven.plugins</groupId>
758 <artifactId>maven-javadoc-plugin</artifactId>
759 <version>2.10.4</version>
762 <id>attach-javadocs</id>
767 <additionalparam>-Xdoclint:none</additionalparam>
773 <artifactId>maven-enforcer-plugin</artifactId>
774 <version>3.0.0-M2</version>
777 <id>enforce-property</id>
784 <property>onap.nexus.url</property>
785 <message>You must set a onap.nexus.url property in your
786 ~/.m2/settings.xml. See oparent/settings.xml for an example.</message>
793 <id>enforce-no-snapshots</id>
800 <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
801 <onlyWhenRelease>true</onlyWhenRelease>
803 </requireReleaseDeps>
808 <id>enforce-maven</id>
815 <version>1.8.0</version>
816 </requireJavaVersion>
817 <requireMavenVersion>
818 <version>[3.5.0,)</version>
819 </requireMavenVersion>
824 <id>enforce-banned-dependencies</id>
831 <message>Please always use mockito-core instead of mockito-all (see https://bugs.opendaylight.org/show_bug.cgi?id=7662), and spotbugs:annotations instead of findbugs:annotations</message>
833 <exclude>org.mockito:mockito-all</exclude>
834 <!-- <exclude>com.google.code.findbugs:annotations</exclude> -->
836 </bannedDependencies>
849 <artifactId>maven-javadoc-plugin</artifactId>
850 <version>2.10.4</version>
852 <failOnError>false</failOnError>
853 <additionalparam>-Xdoclint:none</additionalparam>
860 <!-- Profiles from ONAP oparent -->
862 <id>generate-json</id>
865 <exists>${swagger-properties}</exists>
868 <name>swagger-sdk.generate-json</name>
874 <groupId>org.codehaus.mojo</groupId>
875 <artifactId>properties-maven-plugin</artifactId>
876 <version>1.0.0</version>
879 <phase>initialize</phase>
881 <goal>read-project-properties</goal>
885 <file>${basedir}/src/main/resources/swagger.properties</file>
892 <groupId>com.github.kongchen</groupId>
893 <artifactId>swagger-maven-plugin</artifactId>
894 <version>3.1.4</version>
898 <locations>${api-rest-package}</locations>
899 <schemes>http,https</schemes>
900 <host>${api-host-ip}:${api-host-port}</host>
901 <basePath>${api-base-path}</basePath>
903 <title>${api-title}</title>
904 <version>${api-version}</version>
905 <description>${api-description}</description>
907 <name>${api-license}</name>
910 <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
916 <phase>compile</phase>
918 <goal>generate</goal>
924 <groupId>org.apache.maven.plugins</groupId>
925 <artifactId>maven-install-plugin</artifactId>
926 <version>2.3.1</version>
929 <id>install-file-id</id>
930 <phase>install</phase>
932 <goal>install-file</goal>
935 <file>${basedir}/src/main/resources/swagger.json</file>
936 <groupId>${project.groupId}</groupId>
937 <artifactId>${project.artifactId}-swagger-schema</artifactId>
938 <version>${project.version}</version>
939 <packaging>json</packaging>
948 <id>generate-sdk</id>
951 <exists>${swagger-json}</exists>
954 <name>swagger-sdk.generate-java-sdk</name>
960 <groupId>org.apache.maven.plugins</groupId>
961 <artifactId>maven-antrun-plugin</artifactId>
962 <version>1.8</version>
965 <phase>initialize</phase>
966 <id>ant-create-script</id>
968 <exportAntProperties>true</exportAntProperties>
970 <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
971 <condition property="is_windows" value="true">
972 <os family="windows"/>
974 <condition property="isLinux" value="true">
978 <equals arg1="${is_windows}" arg2="true"/>
980 <property name="swagger.sdk.script.file" value="generated-source-script.bat"/>
981 <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
982 <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
985 <property name="swagger.sdk.script.file" value="generated-source-script.sh"/>
986 <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
987 <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
988 <chmod file="${project.build.directory}${file.separator}generated-source-script.sh" perm="755"/>
1000 <groupId>ant-contrib</groupId>
1001 <artifactId>ant-contrib</artifactId>
1002 <version>1.0b3</version>
1005 <groupId>ant</groupId>
1006 <artifactId>ant</artifactId>
1013 <groupId>io.swagger</groupId>
1014 <artifactId>swagger-codegen-maven-plugin</artifactId>
1015 <version>2.2.1</version>
1019 <goal>generate</goal>
1022 <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
1023 <output>${project.build.directory}/generated-sources</output>
1024 <language>java</language>
1026 <dateLibrary>joda</dateLibrary>
1028 <library>jersey2</library>
1029 <groupId>${project.groupId}</groupId>
1030 <artifactId>${project.artifactId}-java-sdk</artifactId>
1031 <artifactVersion>${project.version}</artifactVersion>
1032 <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
1033 <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
1034 <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
1040 <groupId>org.codehaus.mojo</groupId>
1041 <artifactId>exec-maven-plugin</artifactId>
1042 <version>1.5.0</version>
1045 <id>swagger-generate-sources</id>
1046 <phase>generate-sources</phase>
1051 <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
1057 <groupId>org.apache.maven.plugins</groupId>
1058 <artifactId>maven-clean-plugin</artifactId>
1059 <version>3.0.0</version>
1062 <id>clean-generated-files</id>
1063 <phase>generate-sources</phase>
1070 <directory>${project.build.directory}/generated-sources</directory>
1081 <groupId>org.onap.msb.swagger-sdk</groupId>
1082 <artifactId>swagger-sdk</artifactId>
1083 <version>1.0.0</version>
1088 <id>sonar-jacoco-aggregate</id>
1091 <name>onap.jacoco.aggregateFile</name>
1097 <groupId>org.jacoco</groupId>
1098 <artifactId>jacoco-maven-plugin</artifactId>
1105 <phase>generate-resources</phase>
1107 <destFile>${onap.jacoco.aggregateFile}</destFile>
1110 <directory>${project.basedir}</directory>
1112 <include>**/target/code-coverage/*.exec</include>
1123 <!-- End of profiles from ONAP oparent -->
1126 <id>yang-compile</id>
1129 <exists>src/main/yang</exists>
1135 <groupId>org.opendaylight.yangtools</groupId>
1136 <artifactId>yang-maven-plugin</artifactId>
1137 <version>3.0.11</version>
1140 <groupId>org.opendaylight.mdsal</groupId>
1141 <artifactId>maven-sal-api-gen-plugin</artifactId>
1142 <version>${odl.mdsal.model.version}</version>
1144 <scope>compile</scope>
1147 <groupId>org.opendaylight.netconf</groupId>
1148 <artifactId>sal-rest-docgen-maven</artifactId>
1149 <version>${odl.netconf.sal.rest.docgen.version}</version>
1157 <goal>generate-sources</goal>
1160 <yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
1163 <codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
1164 <outputBaseDir>${salGeneratorPath}</outputBaseDir>
1167 <codeGeneratorClass>org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator</codeGeneratorClass>
1168 <outputBaseDir>target/swagger</outputBaseDir>
1171 <inspectDependencies>true</inspectDependencies>