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