Restructuring POM's and Template
[ccsdk/parent.git] / odlparent / feature-repo-parent / pom.xml
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>
4
5         <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/setup/src/main/template/pom-template.xml
6         Any updates needed should be made to that template and not to the generated
7         pom.xml file -->
8
9         <parent>
10                 <groupId>org.opendaylight.odlparent</groupId>
11                 <artifactId>feature-repo-parent</artifactId>
12                 <version>4.0.10</version>
13                 <relativePath/>
14         </parent>
15
16         <groupId>org.onap.ccsdk.parent</groupId>
17         <artifactId>feature-repo-parent</artifactId>
18         <version>1.5.0-SNAPSHOT</version>
19         <packaging>pom</packaging>
20
21         <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
22         <description>Root POM to be used in place of odlparent for CCSDK based projects</description>
23         <url>http://wiki.onap.org</url>
24         <organization>
25                 <name>ONAP</name>
26         </organization>
27
28         <issueManagement>
29                 <system>JIRA</system>
30                 <url>https://jira.onap.org/</url>
31         </issueManagement>
32         <distributionManagement>
33                 <repository>
34                         <id>ecomp-releases</id>
35                         <url>https://nexus.onap.org/content/repositories/releases</url>
36                 </repository>
37                 <snapshotRepository>
38                         <id>ecomp-snapshots</id>
39                         <url>https://nexus.onap.org/content/repositories/snapshots</url>
40                 </snapshotRepository>
41         </distributionManagement>
42
43         <properties>
44
45                 <!-- properties from oparent -->
46                 <maven.compiler.source>1.8</maven.compiler.source>
47                 <maven.compiler.target>1.8</maven.compiler.target>
48                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
49                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
50                 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
51                 <!-- sitePath may be overridden in the inheriting POM if desired -->
52                 <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
53                 <jacoco.version>0.7.7.201606060606</jacoco.version>
54                 <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
55                 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
56                 <!-- Default Sonar configuration -->
57                 <sonar.jacoco.reportPaths>target/code-coverage/jacoco-ut.exec,target/code-coverage/jacoco-it.exec</sonar.jacoco.reportPaths>
58                 <!-- Note: This list should match jacoco-maven-plugin's exclusion list
59             below -->
60                 <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
61                 <!-- If following file exist, auto-generation of swagger.json will be done -->
62                 <swagger-properties>${basedir}/src/main/resources/swagger.properties</swagger-properties>
63                 <!-- If following file exist, auto-generation of sdk will be done -->
64                 <swagger-json>${basedir}/src/main/resources/swagger.json</swagger-json>
65                 <!-- end of properties from oparent -->
66
67                 <!-- ONAP repositories -->
68                 <onap.nexus.host>nexus.onap.org</onap.nexus.host>
69                 <onap.nexus.port>443</onap.nexus.port>
70                 <onap.nexus.protocol>https</onap.nexus.protocol>
71                 <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
72                 <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
73                 <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
74                 <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
75                 <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
76                 <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
77
78                 <!-- OpenDaylight repositories -->
79                 <opendaylight.nexus.public-url>https://nexus.opendaylight.org/content/repositories/public/</opendaylight.nexus.public-url>
80                 <opendaylight.nexus.snapshot-url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</opendaylight.nexus.snapshot-url>
81
82                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
83                 <java.version.source>1.8</java.version.source>
84                 <java.version.target>1.8</java.version.target>
85                 <bundle.plugin.version>2.5.0</bundle.plugin.version>
86                 <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
87                 <features.file>features.xml</features.file>
88                 <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
89                 <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
90                 <checkstyle.skip>true</checkstyle.skip>
91
92                 <sonar.language>java</sonar.language>
93                 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
94                 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
95                 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
96                 <sonar.projectVersion>${project.version}</sonar.projectVersion>
97
98                 <!-- CCSDK component versions -->
99                 <ccsdk.sli.core.version>0.7.0-SNAPSHOT</ccsdk.sli.core.version>
100                 <ccsdk.sli.adaptors.version>0.7.0-SNAPSHOT</ccsdk.sli.adaptors.version>
101                 <ccsdk.sli.northbound.version>0.7.0-SNAPSHOT</ccsdk.sli.northbound.version>
102                 <ccsdk.sli.plugins.version>0.7.0-SNAPSHOT</ccsdk.sli.plugins.version>
103                 <ccsdk.distribution.version>0.7.0-SNAPSHOT</ccsdk.distribution.version>
104                 <sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
105                 <sdnctl.aai.service.version>${ccsdk.sli.adaptors.version}</sdnctl.aai.service.version>
106                 <sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
107                 <sdnctl.mdsal.resource.version>${ccsdk.sli.adaptors.version}</sdnctl.mdsal.resource.version>
108                 <sdnctl.slipluginutils.version>${ccsdk.sli.core.version}</sdnctl.slipluginutils.version>
109
110                 <!-- Support libraries used by OpenDaylight -->
111                 <odl.controller.mdsal.version>1.9.1</odl.controller.mdsal.version>
112                 <odl.mdsal.version>3.0.8</odl.mdsal.version>
113                 <odl.mdsal.model.version>1.0.8</odl.mdsal.model.version>
114                 <odl.netconf.restconf.version>1.9.1</odl.netconf.restconf.version>
115                 <odl.netconf.netconf.version>1.6.1</odl.netconf.netconf.version>
116                 <odl.netconf.sal.rest.docgen.version>1.9.1</odl.netconf.sal.rest.docgen.version>
117
118                 <!-- Used by aaa, vtn -->
119                 <commons.codec.version>1.12</commons.codec.version>
120                 <!-- Used by netconf, ovsdb -->
121                 <commons.lang3.version>3.8.1</commons.lang3.version>
122                 <!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
123                 <commons.lang.version>2.6</commons.lang.version>
124                 <!-- Used by neutron; see also controller, vtn -->
125                 <commons.net.version>3.6</commons.net.version>
126                 <!-- Used by neutron -->
127                 <eclipse.persistence.version>2.7.3</eclipse.persistence.version>
128                 <!-- Used by aaa -->
129                 <felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
130                 <!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
131                 <gson.version>2.8.5</gson.version>
132                 <!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
133                 <guava.version>25.1-jre</guava.version>
134                 <!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
135             integration/distribution, snmp4sdn, toolkit, ttp -->
136                 <jackson.version>2.9.8</jackson.version>
137                 <jackson.bom.version>2.9.8</jackson.bom.version>
138                 <!-- Used by snmp4sdn, yangtools -->
139                 <javassist.version>3.24.1-GA</javassist.version>
140
141                 <!-- FIXME remove all dependencies for jersey 1.17 after migration all
142             projects -->
143                 <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all,
144             snmp4sdn, toolkit -->
145                 <jersey.version>2.25.1</jersey.version>
146                 <!-- Used by sfc -->
147                 <jersey.client.version>2.25.1</jersey.client.version>
148
149                 <!-- New packages for jersey migration 1.17 to 2.8 -->
150                 <!-- appache.geronimo.bundle for DocGen -->
151                 <!-- Used by aaa, iotdm, netconf, ovsdb, sfc -->
152                 <org.json.version>20131018</org.json.version>
153
154                 <!-- Used everywhere -->
155                 <junit.version>4.12</junit.version>
156                 <!-- Used by coretutorials, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
157                 <logback.version>1.2.3</logback.version>
158                 <!-- Used by nic, sfc, sxp, tsdr -->
159                 <mockito.version>1.10.19</mockito.version>
160                 <!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
161                 <netty.version>4.1.34.Final</netty.version>
162                 <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity,
163             toolkit -->
164                 <slf4j.version>1.7.25</slf4j.version>
165                 <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit,
166             tsdr, ttp -->
167                 <spring.version>4.3.24.RELEASE</spring.version>
168
169                 <!-- Extra support libraries used by SDN-C -->
170                 <jackson-annotations-version>${jackson.version}</jackson-annotations-version>
171                 <jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.version>
172                 <antlr.version>4.7.2</antlr.version>
173
174                 <eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
175
176                 <!-- Managed dependency versions -->
177                 <apache.httpcomponents.core.version>4.4.4</apache.httpcomponents.core.version>
178                 <apache.httpcomponents.client.version>4.5.2</apache.httpcomponents.client.version>
179                 <derby.version>10.14.2.0</derby.version>
180                 <eelf.version>1.0.0</eelf.version>
181                 <grpc.version>1.17.1</grpc.version>
182                 <mariadb.connector.version>2.1.1</mariadb.connector.version>
183                 <mariadb4j.version>2.2.3</mariadb4j.version>
184                 <testng.version>6.11</testng.version>
185                 <tomcat-jdbc.version>8.5.14</tomcat-jdbc.version>
186                 <jetty.version>9.4.12.v20180830</jetty.version>
187                 <skip.karaf.featureTest>true</skip.karaf.featureTest>
188         </properties>
189
190         <dependencyManagement>
191                 <dependencies>
192
193                         <!-- Note: If value in BOM conflicts with value inherited from
194             parent pom, inherited value takes precedence.  This seems more like
195             a bug than a feature, but this is how maven 3.6 works -->
196                         <dependency>
197                                 <groupId>org.onap.ccsdk.parent</groupId>
198                                 <artifactId>dependencies-odl-bom</artifactId>
199                                 <version>1.5.0-SNAPSHOT</version>
200                                 <type>pom</type>
201                                 <scope>import</scope>
202                         </dependency>
203
204                         <!-- Override incorrect versions in ODL parent poms -->
205                         <!-- to match versions actually installed in ODL Neon -->
206                         <dependency>
207                                 <groupId>com.google.protobuf</groupId>
208                                 <artifactId>protobuf-java</artifactId>
209                                 <version>3.6.1</version>
210                         </dependency>
211                         <dependency>
212                                 <groupId>io.netty</groupId>
213                                 <artifactId>netty-transport</artifactId>
214                                 <version>4.1.34.Final</version>
215                         </dependency>
216                         <dependency>
217                                 <groupId>io.netty</groupId>
218                                 <artifactId>netty-all</artifactId>
219                                 <version>4.1.34.Final</version>
220                                 <!-- <version>${netty.version}</version> -->
221                         </dependency>
222                         <dependency>
223                                 <groupId>junit</groupId>
224                                 <artifactId>junit</artifactId>
225                                 <version>4.12</version>
226                                 <scope>test</scope>
227                         </dependency>
228                         <dependency>
229                                 <groupId>org.eclipse.jetty</groupId>
230                                 <artifactId>jetty-server</artifactId>
231                                 <version>9.4.12.v20180830</version>
232                         </dependency>
233                         <dependency>
234                                 <groupId>org.eclipse.jetty</groupId>
235                                 <artifactId>jetty-servlets</artifactId>
236                                 <version>9.4.12.v20180830</version>
237                         </dependency>
238                         <dependency>
239                                 <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
240                                 <artifactId>jersey-guava</artifactId>
241                                 <version>2.25.1</version>
242                         </dependency>
243                         <dependency>
244                                 <groupId>org.codehaus.jettison</groupId>
245                                 <artifactId>jettison</artifactId>
246                                 <version>1.3.8</version>
247                         </dependency>
248                 </dependencies>
249
250         </dependencyManagement>
251
252         <repositories>
253                 <repository>
254                         <id>onap-public</id>
255                         <url>https://nexus.onap.org/content/groups/public</url>
256                         <releases>
257                                 <enabled>true</enabled>
258                                 <updatePolicy>never</updatePolicy>
259                         </releases>
260                         <snapshots>
261                                 <enabled>true</enabled>
262                                 <updatePolicy>always</updatePolicy>
263                         </snapshots>
264                 </repository>
265                 <repository>
266                         <id>onap-staging</id>
267                         <url>https://nexus.onap.org/content/groups/staging</url>
268                         <releases>
269                                 <enabled>true</enabled>
270                                 <updatePolicy>never</updatePolicy>
271                         </releases>
272                         <snapshots>
273                                 <enabled>true</enabled>
274                                 <updatePolicy>always</updatePolicy>
275                         </snapshots>
276                 </repository>
277                 <repository>
278                         <id>ecomp-release</id>
279                         <name>onap-repository-releases</name>
280                         <url>https://nexus.onap.org/content/repositories/releases</url>
281                         <releases>
282                                 <enabled>true</enabled>
283                                 <updatePolicy>never</updatePolicy>
284                         </releases>
285                         <snapshots>
286                                 <enabled>false</enabled>
287                         </snapshots>
288                 </repository>
289                 <repository>
290                         <id>ecomp-snapshot</id>
291                         <name>onap-repository-snapshots</name>
292                         <url>https://nexus.onap.org/content/repositories/snapshots</url>
293                         <releases>
294                                 <enabled>false</enabled>
295                         </releases>
296                         <snapshots>
297                                 <enabled>true</enabled>
298                         </snapshots>
299                 </repository>
300                 <repository>
301                         <id>opendaylight-mirror</id>
302                         <name>opendaylight-mirror</name>
303                         <url>https://nexus.opendaylight.org/content/repositories/public/</url>
304                         <releases>
305                                 <enabled>true</enabled>
306                                 <updatePolicy>never</updatePolicy>
307                         </releases>
308                         <snapshots>
309                                 <enabled>false</enabled>
310                         </snapshots>
311                 </repository>
312                 <repository>
313                         <id>opendaylight-snapshot</id>
314                         <name>opendaylight-snapshot</name>
315                         <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
316                         <releases>
317                                 <enabled>false</enabled>
318                         </releases>
319                         <snapshots>
320                                 <enabled>true</enabled>
321                         </snapshots>
322                 </repository>
323
324         </repositories>
325         <pluginRepositories>
326                 <pluginRepository>
327                         <id>onap-public</id>
328                         <url>${onap.nexus.public-url}</url>
329                         <releases>
330                                 <enabled>true</enabled>
331                         </releases>
332                         <snapshots>
333                                 <enabled>true</enabled>
334                         </snapshots>
335                 </pluginRepository>
336                 <pluginRepository>
337                         <id>onap-staging</id>
338                         <url>${onap.nexus.staging-url}</url>
339                         <releases>
340                                 <enabled>true</enabled>
341                         </releases>
342                         <snapshots>
343                                 <enabled>true</enabled>
344                         </snapshots>
345                 </pluginRepository>
346                 <pluginRepository>
347                         <id>onap-snapshot</id>
348                         <url>${onap.nexus.snapshot-url}</url>
349                         <releases>
350                                 <enabled>false</enabled>
351                         </releases>
352                         <snapshots>
353                                 <enabled>true</enabled>
354                         </snapshots>
355                 </pluginRepository>
356                 <pluginRepository>
357                         <id>opendaylight-mirror</id>
358                         <name>opendaylight-mirror</name>
359                         <url>${opendaylight.nexus.public-url}</url>
360                         <releases>
361                                 <enabled>true</enabled>
362                                 <updatePolicy>never</updatePolicy>
363                         </releases>
364                         <snapshots>
365                                 <enabled>false</enabled>
366                         </snapshots>
367                 </pluginRepository>
368                 <pluginRepository>
369                         <id>opendaylight-snapshot</id>
370                         <name>opendaylight-snapshot</name>
371                         <url>${opendaylight.nexus.snapshot-url}</url>
372                         <releases>
373                                 <enabled>false</enabled>
374                         </releases>
375                         <snapshots>
376                                 <enabled>true</enabled>
377                         </snapshots>
378                 </pluginRepository>
379                 <!-- Black Duck plugin dependencies -->
380                 <pluginRepository>
381                         <id>JCenter</id>
382                         <name>JCenter Repository</name>
383                         <url>http://jcenter.bintray.com</url>
384                 </pluginRepository>
385
386                 <pluginRepository>
387                         <id>Restlet</id>
388                         <name>Restlet Repository</name>
389                         <url>http://maven.restlet.com</url>
390                 </pluginRepository>
391         </pluginRepositories>
392
393         <build>
394                 <pluginManagement>
395                         <plugins>
396
397                                 <!-- Plugins from ONAP version (parent of oparent) -->
398
399                                 <plugin>
400                                         <groupId>org.apache.maven.plugins</groupId>
401                                         <artifactId>maven-deploy-plugin</artifactId>
402                                         <!-- This version supports the "deployAtEnd" parameter -->
403                                         <version>2.8</version>
404                                         <configuration>
405                                                 <skip/>
406                                         </configuration>
407                                 </plugin>
408                                 <plugin>
409                                         <groupId>org.apache.maven.plugins</groupId>
410                                         <artifactId>maven-site-plugin</artifactId>
411                                         <version>3.6</version>
412                                         <dependencies>
413                                                 <dependency>
414                                                         <groupId>org.apache.maven.wagon</groupId>
415                                                         <artifactId>wagon-webdav-jackrabbit</artifactId>
416                                                         <version>2.10</version>
417                                                 </dependency>
418                                         </dependencies>
419                                 </plugin>
420                                 <plugin>
421                                         <groupId>org.apache.maven.plugins</groupId>
422                                         <artifactId>maven-enforcer-plugin</artifactId>
423                                         <version>3.0.0-M2</version>
424                                         <executions>
425                                                 <execution>
426                                                         <id>enforce-property</id>
427                                                         <goals>
428                                                                 <goal>enforce</goal>
429                                                         </goals>
430                                                         <configuration>
431                                                                 <rules>
432                                                                         <requireProperty>
433                                                                                 <property>onap.nexus.url</property>
434                                                                                 <message>You must set a onap.nexus.url property in your
435                                                                                         ~/.m2/settings.xml. See oparent/settings.xml for an example.</message>
436                                                                         </requireProperty>
437                                                                 </rules>
438                                                                 <fail>true</fail>
439                                                         </configuration>
440                                                 </execution>
441                                                 <execution>
442                                                         <id>enforce-no-snapshots</id>
443                                                         <goals>
444                                                                 <goal>enforce</goal>
445                                                         </goals>
446                                                         <configuration>
447                                                                 <rules>
448                                                                         <requireReleaseDeps>
449                                                                                 <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
450                                                                                 <onlyWhenRelease>true</onlyWhenRelease>
451                                                                                 <level>WARN</level>
452                                                                         </requireReleaseDeps>
453                                                                 </rules>
454                                                         </configuration>
455                                                 </execution>
456                                         </executions>
457                                 </plugin>
458                                 <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
459                                 <plugin>
460                                         <groupId>org.sonarsource.scanner.maven</groupId>
461                                         <artifactId>sonar-maven-plugin</artifactId>
462                                         <version>3.2</version>
463                                 </plugin>
464                                 <!-- end of plugins from ONAP version (parent of oparent) -->
465
466                                 <!-- Plugins from ONAP oparent -->
467
468                                 <plugin>
469                                         <groupId>org.jacoco</groupId>
470                                         <artifactId>jacoco-maven-plugin</artifactId>
471                                         <version>${jacoco.version}</version>
472                                         <configuration>
473                                                 <!-- Note: This exclusion list should match <sonar.exclusions> property
474                             above -->
475                                                 <excludes>
476                                                         <exclude>**/gen/**</exclude>
477                                                         <exclude>**/generated-sources/**</exclude>
478                                                         <exclude>**/yang-gen/**</exclude>
479                                                         <exclude>**/pax/**</exclude>
480                                                 </excludes>
481                                         </configuration>
482                                         <executions>
483                                                 <!-- Prepares the property pointing to the JaCoCo runtime agent which
484                             is passed as VM argument when Maven the Surefire plugin is executed. -->
485                                                 <execution>
486                                                         <id>pre-unit-test</id>
487                                                         <goals>
488                                                                 <goal>prepare-agent</goal>
489                                                         </goals>
490                                                         <configuration>
491                                                                 <!-- Sets the path to the file which contains the execution data. -->
492                                                                 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
493                                                                 <!-- Sets the name of the property containing the settings for JaCoCo
494                                     runtime agent. -->
495                                                                 <propertyName>surefireArgLine</propertyName>
496                                                         </configuration>
497                                                 </execution>
498                                                 <!-- Ensures that the code coverage report for unit tests is created
499                             after unit tests have been run. -->
500                                                 <execution>
501                                                         <id>post-unit-test</id>
502                                                         <phase>test</phase>
503                                                         <goals>
504                                                                 <goal>report</goal>
505                                                         </goals>
506                                                         <configuration>
507                                                                 <!-- Sets the path to the file which contains the execution data. -->
508                                                                 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
509                                                                 <!-- Sets the output directory for the code coverage report. -->
510                                                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
511                                                         </configuration>
512                                                 </execution>
513                                                 <execution>
514                                                         <id>pre-integration-test</id>
515                                                         <phase>pre-integration-test</phase>
516                                                         <goals>
517                                                                 <goal>prepare-agent</goal>
518                                                         </goals>
519                                                         <configuration>
520                                                                 <!-- Sets the path to the file which contains the execution data. -->
521                                                                 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
522                                                                 <!-- Sets the name of the property containing the settings for JaCoCo
523                                     runtime agent. -->
524                                                                 <propertyName>failsafeArgLine</propertyName>
525                                                         </configuration>
526                                                 </execution>
527                                                 <!-- Ensures that the code coverage report for integration tests after
528                             integration tests have been run. -->
529                                                 <execution>
530                                                         <id>post-integration-test</id>
531                                                         <phase>post-integration-test</phase>
532                                                         <goals>
533                                                                 <goal>report</goal>
534                                                         </goals>
535                                                         <configuration>
536                                                                 <!-- Sets the path to the file which contains the execution data. -->
537                                                                 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
538                                                                 <!-- Sets the output directory for the code coverage report. -->
539                                                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
540                                                         </configuration>
541                                                 </execution>
542                                         </executions>
543                                 </plugin>
544                                 <plugin>
545                                         <groupId>org.apache.maven.plugins</groupId>
546                                         <artifactId>maven-surefire-plugin</artifactId>
547                                         <version>2.22.0</version>
548                                         <configuration>
549                                                 <!-- Sets the VM argument line used when unit tests are run. -->
550                                                 <argLine>${surefireArgLine}</argLine>
551                                                 <!-- Excludes integration tests when unit tests are run. -->
552                                                 <excludes>
553                                                         <exclude>**/IT*.java</exclude>
554                                                 </excludes>
555                                         </configuration>
556                                 </plugin>
557                                 <plugin>
558                                         <groupId>org.apache.maven.plugins</groupId>
559                                         <artifactId>maven-failsafe-plugin</artifactId>
560                                         <version>2.22.0</version>
561                                         <executions>
562                                                 <!-- Ensures that both integration-test and verify goals of the Failsafe
563                             Maven plugin are executed. -->
564                                                 <execution>
565                                                         <id>integration-tests</id>
566                                                         <goals>
567                                                                 <goal>integration-test</goal>
568                                                                 <goal>verify</goal>
569                                                         </goals>
570                                                         <configuration>
571                                                                 <!-- Sets the VM argument line used when integration tests are run. -->
572                                                                 <argLine>${failsafeArgLine}</argLine>
573                                                         </configuration>
574                                                 </execution>
575                                         </executions>
576                                 </plugin>
577
578                                 <!-- End of plugins from ONAP oparent -->
579                                 <plugin>
580                                         <groupId>org.codehaus.mojo</groupId>
581                                         <artifactId>properties-maven-plugin</artifactId>
582                                         <version>1.0.0</version>
583                                         <executions>
584                                                 <execution>
585                                                         <goals>
586                                                                 <goal>set-system-properties</goal>
587                                                         </goals>
588                                                         <configuration>
589                                                                 <properties>
590                                                                         <property>
591                                                                                 <name>maven.wagon.http.ssl.allowall</name>
592                                                                                 <value>${ssl.allowall}</value>
593                                                                         </property>
594                                                                         <property>
595                                                                                 <name>maven.wagon.http.ssl.insecure</name>
596                                                                                 <value>${ssl.insecure}</value>
597                                                                         </property>
598                                                                 </properties>
599                                                         </configuration>
600                                                 </execution>
601                                         </executions>
602                                 </plugin>
603
604                                 <plugin>
605                                         <groupId>org.codehaus.mojo</groupId>
606                                         <artifactId>versions-maven-plugin</artifactId>
607                                         <version>2.5</version>
608                                         <configuration>
609                                                 <processAllModules>true</processAllModules>
610                                         </configuration>
611                                 </plugin>
612                                 <plugin>
613                                         <artifactId>maven-scm-plugin</artifactId>
614                                         <version>1.8.1</version>
615                                         <configuration>
616                                                 <tag>${project.artifactId}-${project.version}</tag>
617                                         </configuration>
618                                 </plugin>
619                         </plugins>
620                 </pluginManagement>
621                 <plugins>
622
623                         <!-- Plugins from oparent version (parent of oparent) -->
624                         <plugin>
625                                 <groupId>org.apache.maven.plugins</groupId>
626                                 <artifactId>maven-deploy-plugin</artifactId>
627                         </plugin>
628                         <plugin>
629                                 <groupId>org.apache.maven.plugins</groupId>
630                                 <artifactId>maven-site-plugin</artifactId>
631                         </plugin>
632                         <plugin>
633                                 <groupId>org.apache.maven.plugins</groupId>
634                                 <artifactId>maven-enforcer-plugin</artifactId>
635                         </plugin>
636                         <!-- end of plugins from oparent version (parent of oparent) -->
637
638                         <!-- Plugins from oparent -->
639                         <plugin>
640                                 <artifactId>maven-checkstyle-plugin</artifactId>
641                                 <version>2.17</version>
642                                 <dependencies>
643                                         <dependency>
644                                                 <groupId>org.onap.oparent</groupId>
645                                                 <artifactId>checkstyle</artifactId>
646                                                 <version>1.2.2</version>
647                                         </dependency>
648                                 </dependencies>
649                                 <executions>
650                                         <execution>
651                                                 <id>onap-license</id>
652                                                 <goals>
653                                                         <goal>check</goal>
654                                                 </goals>
655                                                 <phase>process-sources</phase>
656                                                 <configuration>
657                                                         <configLocation>onap-checkstyle/check-license.xml</configLocation>
658                                                         <includeResources>false</includeResources>
659                                                         <includeTestSourceDirectory>true</includeTestSourceDirectory>
660                                                         <includeTestResources>false</includeTestResources>
661                                                         <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
662                                                         <excludes>
663                                                         </excludes>
664                                                         <consoleOutput>true</consoleOutput>
665                                                         <failOnViolation>false</failOnViolation>
666                                                 </configuration>
667                                         </execution>
668                                         <execution>
669                                                 <id>onap-java-style</id>
670                                                 <goals>
671                                                         <goal>check</goal>
672                                                 </goals>
673                                                 <phase>process-sources</phase>
674                                                 <configuration>
675                                                         <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
676                                 with minor changes -->
677                                                         <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
678                                                         <!-- <sourceDirectory> is needed so that checkstyle ignores the generated
679                                 sources directory -->
680                                                         <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
681                                                         <includeResources>true</includeResources>
682                                                         <includeTestSourceDirectory>true</includeTestSourceDirectory>
683                                                         <includeTestResources>true</includeTestResources>
684                                                         <excludes>
685                                                         </excludes>
686                                                         <consoleOutput>true</consoleOutput>
687                                                         <failOnViolation>false</failOnViolation>
688                                                 </configuration>
689                                         </execution>
690                                 </executions>
691                         </plugin>
692                         <plugin>
693                                 <groupId>org.codehaus.mojo</groupId>
694                                 <artifactId>build-helper-maven-plugin</artifactId>
695                                 <version>1.12</version>
696                         </plugin>
697                         <!-- Jacoco / Sonar -->
698                         <plugin>
699                                 <groupId>org.jacoco</groupId>
700                                 <artifactId>jacoco-maven-plugin</artifactId>
701                         </plugin>
702                         <plugin>
703                                 <groupId>org.apache.maven.plugins</groupId>
704                                 <artifactId>maven-surefire-plugin</artifactId>
705                         </plugin>
706                         <plugin>
707                                 <groupId>org.apache.maven.plugins</groupId>
708                                 <artifactId>maven-failsafe-plugin</artifactId>
709                         </plugin>
710                         <!-- end of plugins from oparent -->
711                         <plugin>
712                                 <groupId>org.apache.maven.plugins</groupId>
713                                 <artifactId>maven-javadoc-plugin</artifactId>
714                                 <version>2.10.4</version>
715                                 <executions>
716                                         <execution>
717                                                 <id>attach-javadocs</id>
718                                                 <goals>
719                                                         <goal>jar</goal>
720                                                 </goals>
721                                                 <configuration>
722                                                         <additionalparam>-Xdoclint:none</additionalparam>
723                                                 </configuration>
724                                         </execution>
725                                 </executions>
726                         </plugin>
727                 </plugins>
728         </build>
729
730         <reporting>
731                 <plugins>
732                         <plugin>
733                                 <artifactId>maven-javadoc-plugin</artifactId>
734                                 <version>2.10.4</version>
735                                 <configuration>
736                                         <failOnError>false</failOnError>
737                                         <additionalparam>-Xdoclint:none</additionalparam>
738                                 </configuration>
739                         </plugin>
740                 </plugins>
741         </reporting>
742
743         <profiles>
744                 <!-- Profiles from ONAP oparent -->
745                 <profile>
746                         <id>generate-json</id>
747                         <activation>
748                                 <file>
749                                         <exists>${swagger-properties}</exists>
750                                 </file>
751                                 <property>
752                                         <name>swagger-sdk.generate-json</name>
753                                 </property>
754                         </activation>
755                         <build>
756                                 <plugins>
757                                         <plugin>
758                                                 <groupId>org.codehaus.mojo</groupId>
759                                                 <artifactId>properties-maven-plugin</artifactId>
760                                                 <version>1.0.0</version>
761                                                 <executions>
762                                                         <execution>
763                                                                 <phase>initialize</phase>
764                                                                 <goals>
765                                                                         <goal>read-project-properties</goal>
766                                                                 </goals>
767                                                                 <configuration>
768                                                                         <files>
769                                                                                 <file>${basedir}/src/main/resources/swagger.properties</file>
770                                                                         </files>
771                                                                 </configuration>
772                                                         </execution>
773                                                 </executions>
774                                         </plugin>
775                                         <plugin>
776                                                 <groupId>com.github.kongchen</groupId>
777                                                 <artifactId>swagger-maven-plugin</artifactId>
778                                                 <version>3.1.4</version>
779                                                 <configuration>
780                                                         <apiSources>
781                                                                 <apiSource>
782                                                                         <locations>${api-rest-package}</locations>
783                                                                         <schemes>http,https</schemes>
784                                                                         <host>${api-host-ip}:${api-host-port}</host>
785                                                                         <basePath>${api-base-path}</basePath>
786                                                                         <info>
787                                                                                 <title>${api-title}</title>
788                                                                                 <version>${api-version}</version>
789                                                                                 <description>${api-description}</description>
790                                                                                 <license>
791                                                                                         <name>${api-license}</name>
792                                                                                 </license>
793                                                                         </info>
794                                                                         <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
795                                                                 </apiSource>
796                                                         </apiSources>
797                                                 </configuration>
798                                                 <executions>
799                                                         <execution>
800                                                                 <phase>compile</phase>
801                                                                 <goals>
802                                                                         <goal>generate</goal>
803                                                                 </goals>
804                                                         </execution>
805                                                 </executions>
806                                         </plugin>
807                                         <plugin>
808                                                 <groupId>org.apache.maven.plugins</groupId>
809                                                 <artifactId>maven-install-plugin</artifactId>
810                                                 <version>2.3.1</version>
811                                                 <executions>
812                                                         <execution>
813                                                                 <id>install-file-id</id>
814                                                                 <phase>install</phase>
815                                                                 <goals>
816                                                                         <goal>install-file</goal>
817                                                                 </goals>
818                                                                 <configuration>
819                                                                         <file>${basedir}/src/main/resources/swagger.json</file>
820                                                                         <groupId>${project.groupId}</groupId>
821                                                                         <artifactId>${project.artifactId}-swagger-schema</artifactId>
822                                                                         <version>${project.version}</version>
823                                                                         <packaging>json</packaging>
824                                                                 </configuration>
825                                                         </execution>
826                                                 </executions>
827                                         </plugin>
828                                 </plugins>
829                         </build>
830                 </profile>
831                 <profile>
832                         <id>generate-sdk</id>
833                         <activation>
834                                 <file>
835                                         <exists>${swagger-json}</exists>
836                                 </file>
837                                 <property>
838                                         <name>swagger-sdk.generate-java-sdk</name>
839                                 </property>
840                         </activation>
841                         <build>
842                                 <plugins>
843                                         <plugin>
844                                                 <groupId>org.apache.maven.plugins</groupId>
845                                                 <artifactId>maven-antrun-plugin</artifactId>
846                                                 <version>1.8</version>
847                                                 <executions>
848                                                         <execution>
849                                                                 <phase>initialize</phase>
850                                                                 <id>ant-create-script</id>
851                                                                 <configuration>
852                                                                         <exportAntProperties>true</exportAntProperties>
853                                                                         <tasks>
854                                                                                 <taskdef resource="net/sf/antcontrib/antlib.xml"
855                                                                                                  classpathref="maven.plugin.classpath"/>
856                                                                                 <condition property="is_windows" value="true">
857                                                                                         <os family="windows"/>
858                                                                                 </condition>
859                                                                                 <condition property="isLinux" value="true">
860                                                                                         <os family="unix"/>
861                                                                                 </condition>
862                                                                                 <if>
863                                                                                         <equals arg1="${is_windows}" arg2="true"/>
864                                                                                         <then>
865                                                                                                 <property name="swagger.sdk.script.file"
866                                                                                                                   value="generated-source-script.bat"/>
867                                                                                                 <echo
868                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.bat"
869                                                                                                 append="true"
870                                                                                                 message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
871                                                                                                 <echo
872                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.bat"
873                                                                                                 append="true"
874                                                                                                 message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
875                                                                                         </then>
876                                                                                         <else>
877                                                                                                 <property name="swagger.sdk.script.file"
878                                                                                                                   value="generated-source-script.sh"/>
879                                                                                                 <echo
880                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.sh"
881                                                                                                 append="true"
882                                                                                                 message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
883                                                                                                 <echo
884                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.sh"
885                                                                                                 append="true"
886                                                                                                 message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
887                                                                                                 <chmod
888                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.sh"
889                                                                                                 perm="755"/>
890                                                                                         </else>
891                                                                                 </if>
892                                                                         </tasks>
893                                                                 </configuration>
894                                                                 <goals>
895                                                                         <goal>run</goal>
896                                                                 </goals>
897                                                         </execution>
898                                                 </executions>
899                                                 <dependencies>
900                                                         <dependency>
901                                                                 <groupId>ant-contrib</groupId>
902                                                                 <artifactId>ant-contrib</artifactId>
903                                                                 <version>1.0b3</version>
904                                                                 <exclusions>
905                                                                         <exclusion>
906                                                                                 <groupId>ant</groupId>
907                                                                                 <artifactId>ant</artifactId>
908                                                                         </exclusion>
909                                                                 </exclusions>
910                                                         </dependency>
911                                                 </dependencies>
912                                         </plugin>
913                                         <plugin>
914                                                 <groupId>io.swagger</groupId>
915                                                 <artifactId>swagger-codegen-maven-plugin</artifactId>
916                                                 <version>2.2.1</version>
917                                                 <executions>
918                                                         <execution>
919                                                                 <goals>
920                                                                         <goal>generate</goal>
921                                                                 </goals>
922                                                                 <configuration>
923                                                                         <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
924                                                                         <output>${project.build.directory}/generated-sources</output>
925                                                                         <language>java</language>
926                                                                         <configOptions>
927                                                                                 <dateLibrary>joda</dateLibrary>
928                                                                         </configOptions>
929                                                                         <library>jersey2</library>
930                                                                         <groupId>${project.groupId}</groupId>
931                                                                         <artifactId>${project.artifactId}-java-sdk</artifactId>
932                                                                         <artifactVersion>${project.version}</artifactVersion>
933                                                                         <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
934                                                                         <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
935                                                                         <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
936                                                                 </configuration>
937                                                         </execution>
938                                                 </executions>
939                                         </plugin>
940                                         <plugin>
941                                                 <groupId>org.codehaus.mojo</groupId>
942                                                 <artifactId>exec-maven-plugin</artifactId>
943                                                 <version>1.5.0</version>
944                                                 <executions>
945                                                         <execution>
946                                                                 <id>swagger-generate-sources</id>
947                                                                 <phase>generate-sources</phase>
948                                                                 <goals>
949                                                                         <goal>exec</goal>
950                                                                 </goals>
951                                                                 <configuration>
952                                                                         <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
953                                                                 </configuration>
954                                                         </execution>
955                                                 </executions>
956                                         </plugin>
957                                         <plugin>
958                                                 <groupId>org.apache.maven.plugins</groupId>
959                                                 <artifactId>maven-clean-plugin</artifactId>
960                                                 <version>3.0.0</version>
961                                                 <executions>
962                                                         <execution>
963                                                                 <id>clean-generated-files</id>
964                                                                 <phase>generate-sources</phase>
965                                                                 <goals>
966                                                                         <goal>clean</goal>
967                                                                 </goals>
968                                                                 <configuration>
969                                                                         <filesets>
970                                                                                 <fileset>
971                                                                                         <directory>${project.build.directory}/generated-sources</directory>
972                                                                                 </fileset>
973                                                                         </filesets>
974                                                                 </configuration>
975                                                         </execution>
976                                                 </executions>
977                                         </plugin>
978                                 </plugins>
979                         </build>
980                         <dependencies>
981                                 <dependency>
982                                         <groupId>org.onap.msb.swagger-sdk</groupId>
983                                         <artifactId>swagger-sdk</artifactId>
984                                         <version>1.0.0</version>
985                                 </dependency>
986                         </dependencies>
987                 </profile>
988
989                 <!-- End of profiles from ONAP oparent -->
990
991                 <profile>
992                         <id>yang-compile</id>
993                         <activation>
994                                 <file>
995                                         <exists>src/main/yang</exists>
996                                 </file>
997                         </activation>
998                         <build>
999                                 <plugins>
1000                                         <plugin>
1001                                                 <groupId>org.opendaylight.yangtools</groupId>
1002                                                 <artifactId>yang-maven-plugin</artifactId>
1003                                                 <version>2.1.8</version>
1004                                                 <dependencies>
1005                                                         <dependency>
1006                                                                 <groupId>org.opendaylight.mdsal</groupId>
1007                                                                 <artifactId>maven-sal-api-gen-plugin</artifactId>
1008                                                                 <version>${odl.mdsal.model.version}</version>
1009                                                                 <type>jar</type>
1010                                                         </dependency>
1011                                                         <dependency>
1012                                                                 <groupId>org.opendaylight.netconf</groupId>
1013                                                                 <artifactId>sal-rest-docgen-maven</artifactId>
1014                                                                 <version>${odl.netconf.sal.rest.docgen.version}</version>
1015                                                                 <type>jar</type>
1016                                                         </dependency>
1017                                                 </dependencies>
1018                                                 <executions>
1019                                                         <execution>
1020                                                                 <goals>
1021                                                                         <goal>generate-sources</goal>
1022                                                                 </goals>
1023                                                                 <configuration>
1024                                                                         <yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
1025                                                                         <codeGenerators>
1026                                                                                 <generator>
1027                                                                                         <codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
1028                                                                                         <outputBaseDir>${salGeneratorPath}</outputBaseDir>
1029                                                                                 </generator>
1030                                                                                 <generator>
1031                                                                                         <codeGeneratorClass>org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator</codeGeneratorClass>
1032                                                                                         <outputBaseDir>target/swagger</outputBaseDir>
1033                                                                                 </generator>
1034                                                                         </codeGenerators>
1035                                                                         <inspectDependencies>true</inspectDependencies>
1036                                                                 </configuration>
1037                                                         </execution>
1038                                                 </executions>
1039                                         </plugin>
1040                                 </plugins>
1041                         </build>
1042                 </profile>
1043
1044         </profiles>
1045 </project>