Merge "manage logging analytics deps"
[ccsdk/parent.git] / odlparent / odlparent-lite / 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>odlparent-lite</artifactId>
12                 <version>4.0.10</version>
13                 <relativePath/>
14         </parent>
15
16         <groupId>org.onap.ccsdk.parent</groupId>
17         <artifactId>odlparent-lite</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                         <dependency>
249                                 <groupId>org.onap.logging-analytics</groupId>
250                                 <artifactId>logging-slf4j</artifactId>
251                                 <version>1.6.1</version>
252                         </dependency>
253                         <dependency>
254                                 <groupId>org.onap.logging-analytics</groupId>
255                                 <artifactId>logging-filter-base</artifactId>
256                                 <version>1.6.1</version>
257                         </dependency>
258                 </dependencies>
259
260         </dependencyManagement>
261
262         <repositories>
263                 <repository>
264                         <id>onap-public</id>
265                         <url>https://nexus.onap.org/content/groups/public</url>
266                         <releases>
267                                 <enabled>true</enabled>
268                                 <updatePolicy>never</updatePolicy>
269                         </releases>
270                         <snapshots>
271                                 <enabled>true</enabled>
272                                 <updatePolicy>always</updatePolicy>
273                         </snapshots>
274                 </repository>
275                 <repository>
276                         <id>onap-staging</id>
277                         <url>https://nexus.onap.org/content/groups/staging</url>
278                         <releases>
279                                 <enabled>true</enabled>
280                                 <updatePolicy>never</updatePolicy>
281                         </releases>
282                         <snapshots>
283                                 <enabled>true</enabled>
284                                 <updatePolicy>always</updatePolicy>
285                         </snapshots>
286                 </repository>
287                 <repository>
288                         <id>ecomp-release</id>
289                         <name>onap-repository-releases</name>
290                         <url>https://nexus.onap.org/content/repositories/releases</url>
291                         <releases>
292                                 <enabled>true</enabled>
293                                 <updatePolicy>never</updatePolicy>
294                         </releases>
295                         <snapshots>
296                                 <enabled>false</enabled>
297                         </snapshots>
298                 </repository>
299                 <repository>
300                         <id>ecomp-snapshot</id>
301                         <name>onap-repository-snapshots</name>
302                         <url>https://nexus.onap.org/content/repositories/snapshots</url>
303                         <releases>
304                                 <enabled>false</enabled>
305                         </releases>
306                         <snapshots>
307                                 <enabled>true</enabled>
308                         </snapshots>
309                 </repository>
310                 <repository>
311                         <id>opendaylight-mirror</id>
312                         <name>opendaylight-mirror</name>
313                         <url>https://nexus.opendaylight.org/content/repositories/public/</url>
314                         <releases>
315                                 <enabled>true</enabled>
316                                 <updatePolicy>never</updatePolicy>
317                         </releases>
318                         <snapshots>
319                                 <enabled>false</enabled>
320                         </snapshots>
321                 </repository>
322                 <repository>
323                         <id>opendaylight-snapshot</id>
324                         <name>opendaylight-snapshot</name>
325                         <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
326                         <releases>
327                                 <enabled>false</enabled>
328                         </releases>
329                         <snapshots>
330                                 <enabled>true</enabled>
331                         </snapshots>
332                 </repository>
333
334         </repositories>
335         <pluginRepositories>
336                 <pluginRepository>
337                         <id>onap-public</id>
338                         <url>${onap.nexus.public-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-staging</id>
348                         <url>${onap.nexus.staging-url}</url>
349                         <releases>
350                                 <enabled>true</enabled>
351                         </releases>
352                         <snapshots>
353                                 <enabled>true</enabled>
354                         </snapshots>
355                 </pluginRepository>
356                 <pluginRepository>
357                         <id>onap-snapshot</id>
358                         <url>${onap.nexus.snapshot-url}</url>
359                         <releases>
360                                 <enabled>false</enabled>
361                         </releases>
362                         <snapshots>
363                                 <enabled>true</enabled>
364                         </snapshots>
365                 </pluginRepository>
366                 <pluginRepository>
367                         <id>opendaylight-mirror</id>
368                         <name>opendaylight-mirror</name>
369                         <url>${opendaylight.nexus.public-url}</url>
370                         <releases>
371                                 <enabled>true</enabled>
372                                 <updatePolicy>never</updatePolicy>
373                         </releases>
374                         <snapshots>
375                                 <enabled>false</enabled>
376                         </snapshots>
377                 </pluginRepository>
378                 <pluginRepository>
379                         <id>opendaylight-snapshot</id>
380                         <name>opendaylight-snapshot</name>
381                         <url>${opendaylight.nexus.snapshot-url}</url>
382                         <releases>
383                                 <enabled>false</enabled>
384                         </releases>
385                         <snapshots>
386                                 <enabled>true</enabled>
387                         </snapshots>
388                 </pluginRepository>
389                 <!-- Black Duck plugin dependencies -->
390                 <pluginRepository>
391                         <id>JCenter</id>
392                         <name>JCenter Repository</name>
393                         <url>http://jcenter.bintray.com</url>
394                 </pluginRepository>
395
396                 <pluginRepository>
397                         <id>Restlet</id>
398                         <name>Restlet Repository</name>
399                         <url>http://maven.restlet.com</url>
400                 </pluginRepository>
401         </pluginRepositories>
402
403         <build>
404                 <pluginManagement>
405                         <plugins>
406
407                                 <!-- Plugins from ONAP version (parent of oparent) -->
408
409                                 <plugin>
410                                         <groupId>org.apache.maven.plugins</groupId>
411                                         <artifactId>maven-deploy-plugin</artifactId>
412                                         <!-- This version supports the "deployAtEnd" parameter -->
413                                         <version>2.8</version>
414                                         <configuration>
415                                                 <skip/>
416                                         </configuration>
417                                 </plugin>
418                                 <plugin>
419                                         <groupId>org.apache.maven.plugins</groupId>
420                                         <artifactId>maven-site-plugin</artifactId>
421                                         <version>3.6</version>
422                                         <dependencies>
423                                                 <dependency>
424                                                         <groupId>org.apache.maven.wagon</groupId>
425                                                         <artifactId>wagon-webdav-jackrabbit</artifactId>
426                                                         <version>2.10</version>
427                                                 </dependency>
428                                         </dependencies>
429                                 </plugin>
430                                 <plugin>
431                                         <groupId>org.apache.maven.plugins</groupId>
432                                         <artifactId>maven-enforcer-plugin</artifactId>
433                                         <version>3.0.0-M2</version>
434                                         <executions>
435                                                 <execution>
436                                                         <id>enforce-property</id>
437                                                         <goals>
438                                                                 <goal>enforce</goal>
439                                                         </goals>
440                                                         <configuration>
441                                                                 <rules>
442                                                                         <requireProperty>
443                                                                                 <property>onap.nexus.url</property>
444                                                                                 <message>You must set a onap.nexus.url property in your
445                                                                                         ~/.m2/settings.xml. See oparent/settings.xml for an example.</message>
446                                                                         </requireProperty>
447                                                                 </rules>
448                                                                 <fail>true</fail>
449                                                         </configuration>
450                                                 </execution>
451                                                 <execution>
452                                                         <id>enforce-no-snapshots</id>
453                                                         <goals>
454                                                                 <goal>enforce</goal>
455                                                         </goals>
456                                                         <configuration>
457                                                                 <rules>
458                                                                         <requireReleaseDeps>
459                                                                                 <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
460                                                                                 <onlyWhenRelease>true</onlyWhenRelease>
461                                                                                 <level>WARN</level>
462                                                                         </requireReleaseDeps>
463                                                                 </rules>
464                                                         </configuration>
465                                                 </execution>
466                                         </executions>
467                                 </plugin>
468                                 <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
469                                 <plugin>
470                                         <groupId>org.sonarsource.scanner.maven</groupId>
471                                         <artifactId>sonar-maven-plugin</artifactId>
472                                         <version>3.2</version>
473                                 </plugin>
474                                 <!-- end of plugins from ONAP version (parent of oparent) -->
475
476                                 <!-- Plugins from ONAP oparent -->
477
478                                 <plugin>
479                                         <groupId>org.jacoco</groupId>
480                                         <artifactId>jacoco-maven-plugin</artifactId>
481                                         <version>${jacoco.version}</version>
482                                         <configuration>
483                                                 <!-- Note: This exclusion list should match <sonar.exclusions> property
484                             above -->
485                                                 <excludes>
486                                                         <exclude>**/gen/**</exclude>
487                                                         <exclude>**/generated-sources/**</exclude>
488                                                         <exclude>**/yang-gen/**</exclude>
489                                                         <exclude>**/pax/**</exclude>
490                                                 </excludes>
491                                         </configuration>
492                                         <executions>
493                                                 <!-- Prepares the property pointing to the JaCoCo runtime agent which
494                             is passed as VM argument when Maven the Surefire plugin is executed. -->
495                                                 <execution>
496                                                         <id>pre-unit-test</id>
497                                                         <goals>
498                                                                 <goal>prepare-agent</goal>
499                                                         </goals>
500                                                         <configuration>
501                                                                 <!-- Sets the path to the file which contains the execution data. -->
502                                                                 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
503                                                                 <!-- Sets the name of the property containing the settings for JaCoCo
504                                     runtime agent. -->
505                                                                 <propertyName>surefireArgLine</propertyName>
506                                                         </configuration>
507                                                 </execution>
508                                                 <!-- Ensures that the code coverage report for unit tests is created
509                             after unit tests have been run. -->
510                                                 <execution>
511                                                         <id>post-unit-test</id>
512                                                         <phase>test</phase>
513                                                         <goals>
514                                                                 <goal>report</goal>
515                                                         </goals>
516                                                         <configuration>
517                                                                 <!-- Sets the path to the file which contains the execution data. -->
518                                                                 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
519                                                                 <!-- Sets the output directory for the code coverage report. -->
520                                                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
521                                                         </configuration>
522                                                 </execution>
523                                                 <execution>
524                                                         <id>pre-integration-test</id>
525                                                         <phase>pre-integration-test</phase>
526                                                         <goals>
527                                                                 <goal>prepare-agent</goal>
528                                                         </goals>
529                                                         <configuration>
530                                                                 <!-- Sets the path to the file which contains the execution data. -->
531                                                                 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
532                                                                 <!-- Sets the name of the property containing the settings for JaCoCo
533                                     runtime agent. -->
534                                                                 <propertyName>failsafeArgLine</propertyName>
535                                                         </configuration>
536                                                 </execution>
537                                                 <!-- Ensures that the code coverage report for integration tests after
538                             integration tests have been run. -->
539                                                 <execution>
540                                                         <id>post-integration-test</id>
541                                                         <phase>post-integration-test</phase>
542                                                         <goals>
543                                                                 <goal>report</goal>
544                                                         </goals>
545                                                         <configuration>
546                                                                 <!-- Sets the path to the file which contains the execution data. -->
547                                                                 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
548                                                                 <!-- Sets the output directory for the code coverage report. -->
549                                                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
550                                                         </configuration>
551                                                 </execution>
552                                         </executions>
553                                 </plugin>
554                                 <plugin>
555                                         <groupId>org.apache.maven.plugins</groupId>
556                                         <artifactId>maven-surefire-plugin</artifactId>
557                                         <version>2.22.0</version>
558                                         <configuration>
559                                                 <!-- Sets the VM argument line used when unit tests are run. -->
560                                                 <argLine>${surefireArgLine}</argLine>
561                                                 <!-- Excludes integration tests when unit tests are run. -->
562                                                 <excludes>
563                                                         <exclude>**/IT*.java</exclude>
564                                                 </excludes>
565                                         </configuration>
566                                 </plugin>
567                                 <plugin>
568                                         <groupId>org.apache.maven.plugins</groupId>
569                                         <artifactId>maven-failsafe-plugin</artifactId>
570                                         <version>2.22.0</version>
571                                         <executions>
572                                                 <!-- Ensures that both integration-test and verify goals of the Failsafe
573                             Maven plugin are executed. -->
574                                                 <execution>
575                                                         <id>integration-tests</id>
576                                                         <goals>
577                                                                 <goal>integration-test</goal>
578                                                                 <goal>verify</goal>
579                                                         </goals>
580                                                         <configuration>
581                                                                 <!-- Sets the VM argument line used when integration tests are run. -->
582                                                                 <argLine>${failsafeArgLine}</argLine>
583                                                         </configuration>
584                                                 </execution>
585                                         </executions>
586                                 </plugin>
587
588                                 <!-- End of plugins from ONAP oparent -->
589                                 <plugin>
590                                         <groupId>org.codehaus.mojo</groupId>
591                                         <artifactId>properties-maven-plugin</artifactId>
592                                         <version>1.0.0</version>
593                                         <executions>
594                                                 <execution>
595                                                         <goals>
596                                                                 <goal>set-system-properties</goal>
597                                                         </goals>
598                                                         <configuration>
599                                                                 <properties>
600                                                                         <property>
601                                                                                 <name>maven.wagon.http.ssl.allowall</name>
602                                                                                 <value>${ssl.allowall}</value>
603                                                                         </property>
604                                                                         <property>
605                                                                                 <name>maven.wagon.http.ssl.insecure</name>
606                                                                                 <value>${ssl.insecure}</value>
607                                                                         </property>
608                                                                 </properties>
609                                                         </configuration>
610                                                 </execution>
611                                         </executions>
612                                 </plugin>
613
614                                 <plugin>
615                                         <groupId>org.codehaus.mojo</groupId>
616                                         <artifactId>versions-maven-plugin</artifactId>
617                                         <version>2.5</version>
618                                         <configuration>
619                                                 <processAllModules>true</processAllModules>
620                                         </configuration>
621                                 </plugin>
622                                 <plugin>
623                                         <artifactId>maven-scm-plugin</artifactId>
624                                         <version>1.8.1</version>
625                                         <configuration>
626                                                 <tag>${project.artifactId}-${project.version}</tag>
627                                         </configuration>
628                                 </plugin>
629                         </plugins>
630                 </pluginManagement>
631                 <plugins>
632
633                         <!-- Plugins from oparent version (parent of oparent) -->
634                         <plugin>
635                                 <groupId>org.apache.maven.plugins</groupId>
636                                 <artifactId>maven-deploy-plugin</artifactId>
637                         </plugin>
638                         <plugin>
639                                 <groupId>org.apache.maven.plugins</groupId>
640                                 <artifactId>maven-site-plugin</artifactId>
641                         </plugin>
642                         <plugin>
643                                 <groupId>org.apache.maven.plugins</groupId>
644                                 <artifactId>maven-enforcer-plugin</artifactId>
645                         </plugin>
646                         <!-- end of plugins from oparent version (parent of oparent) -->
647
648                         <!-- Plugins from oparent -->
649                         <plugin>
650                                 <artifactId>maven-checkstyle-plugin</artifactId>
651                                 <version>2.17</version>
652                                 <dependencies>
653                                         <dependency>
654                                                 <groupId>org.onap.oparent</groupId>
655                                                 <artifactId>checkstyle</artifactId>
656                                                 <version>1.2.2</version>
657                                         </dependency>
658                                 </dependencies>
659                                 <executions>
660                                         <execution>
661                                                 <id>onap-license</id>
662                                                 <goals>
663                                                         <goal>check</goal>
664                                                 </goals>
665                                                 <phase>process-sources</phase>
666                                                 <configuration>
667                                                         <configLocation>onap-checkstyle/check-license.xml</configLocation>
668                                                         <includeResources>false</includeResources>
669                                                         <includeTestSourceDirectory>true</includeTestSourceDirectory>
670                                                         <includeTestResources>false</includeTestResources>
671                                                         <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
672                                                         <excludes>
673                                                         </excludes>
674                                                         <consoleOutput>true</consoleOutput>
675                                                         <failOnViolation>false</failOnViolation>
676                                                 </configuration>
677                                         </execution>
678                                         <execution>
679                                                 <id>onap-java-style</id>
680                                                 <goals>
681                                                         <goal>check</goal>
682                                                 </goals>
683                                                 <phase>process-sources</phase>
684                                                 <configuration>
685                                                         <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
686                                 with minor changes -->
687                                                         <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
688                                                         <!-- <sourceDirectory> is needed so that checkstyle ignores the generated
689                                 sources directory -->
690                                                         <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
691                                                         <includeResources>true</includeResources>
692                                                         <includeTestSourceDirectory>true</includeTestSourceDirectory>
693                                                         <includeTestResources>true</includeTestResources>
694                                                         <excludes>
695                                                         </excludes>
696                                                         <consoleOutput>true</consoleOutput>
697                                                         <failOnViolation>false</failOnViolation>
698                                                 </configuration>
699                                         </execution>
700                                 </executions>
701                         </plugin>
702                         <plugin>
703                                 <groupId>org.codehaus.mojo</groupId>
704                                 <artifactId>build-helper-maven-plugin</artifactId>
705                                 <version>1.12</version>
706                         </plugin>
707                         <!-- Jacoco / Sonar -->
708                         <plugin>
709                                 <groupId>org.jacoco</groupId>
710                                 <artifactId>jacoco-maven-plugin</artifactId>
711                         </plugin>
712                         <plugin>
713                                 <groupId>org.apache.maven.plugins</groupId>
714                                 <artifactId>maven-surefire-plugin</artifactId>
715                         </plugin>
716                         <plugin>
717                                 <groupId>org.apache.maven.plugins</groupId>
718                                 <artifactId>maven-failsafe-plugin</artifactId>
719                         </plugin>
720                         <!-- end of plugins from oparent -->
721                         <plugin>
722                                 <groupId>org.apache.maven.plugins</groupId>
723                                 <artifactId>maven-javadoc-plugin</artifactId>
724                                 <version>2.10.4</version>
725                                 <executions>
726                                         <execution>
727                                                 <id>attach-javadocs</id>
728                                                 <goals>
729                                                         <goal>jar</goal>
730                                                 </goals>
731                                                 <configuration>
732                                                         <additionalparam>-Xdoclint:none</additionalparam>
733                                                 </configuration>
734                                         </execution>
735                                 </executions>
736                         </plugin>
737                 </plugins>
738         </build>
739
740         <reporting>
741                 <plugins>
742                         <plugin>
743                                 <artifactId>maven-javadoc-plugin</artifactId>
744                                 <version>2.10.4</version>
745                                 <configuration>
746                                         <failOnError>false</failOnError>
747                                         <additionalparam>-Xdoclint:none</additionalparam>
748                                 </configuration>
749                         </plugin>
750                 </plugins>
751         </reporting>
752
753         <profiles>
754                 <!-- Profiles from ONAP oparent -->
755                 <profile>
756                         <id>generate-json</id>
757                         <activation>
758                                 <file>
759                                         <exists>${swagger-properties}</exists>
760                                 </file>
761                                 <property>
762                                         <name>swagger-sdk.generate-json</name>
763                                 </property>
764                         </activation>
765                         <build>
766                                 <plugins>
767                                         <plugin>
768                                                 <groupId>org.codehaus.mojo</groupId>
769                                                 <artifactId>properties-maven-plugin</artifactId>
770                                                 <version>1.0.0</version>
771                                                 <executions>
772                                                         <execution>
773                                                                 <phase>initialize</phase>
774                                                                 <goals>
775                                                                         <goal>read-project-properties</goal>
776                                                                 </goals>
777                                                                 <configuration>
778                                                                         <files>
779                                                                                 <file>${basedir}/src/main/resources/swagger.properties</file>
780                                                                         </files>
781                                                                 </configuration>
782                                                         </execution>
783                                                 </executions>
784                                         </plugin>
785                                         <plugin>
786                                                 <groupId>com.github.kongchen</groupId>
787                                                 <artifactId>swagger-maven-plugin</artifactId>
788                                                 <version>3.1.4</version>
789                                                 <configuration>
790                                                         <apiSources>
791                                                                 <apiSource>
792                                                                         <locations>${api-rest-package}</locations>
793                                                                         <schemes>http,https</schemes>
794                                                                         <host>${api-host-ip}:${api-host-port}</host>
795                                                                         <basePath>${api-base-path}</basePath>
796                                                                         <info>
797                                                                                 <title>${api-title}</title>
798                                                                                 <version>${api-version}</version>
799                                                                                 <description>${api-description}</description>
800                                                                                 <license>
801                                                                                         <name>${api-license}</name>
802                                                                                 </license>
803                                                                         </info>
804                                                                         <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
805                                                                 </apiSource>
806                                                         </apiSources>
807                                                 </configuration>
808                                                 <executions>
809                                                         <execution>
810                                                                 <phase>compile</phase>
811                                                                 <goals>
812                                                                         <goal>generate</goal>
813                                                                 </goals>
814                                                         </execution>
815                                                 </executions>
816                                         </plugin>
817                                         <plugin>
818                                                 <groupId>org.apache.maven.plugins</groupId>
819                                                 <artifactId>maven-install-plugin</artifactId>
820                                                 <version>2.3.1</version>
821                                                 <executions>
822                                                         <execution>
823                                                                 <id>install-file-id</id>
824                                                                 <phase>install</phase>
825                                                                 <goals>
826                                                                         <goal>install-file</goal>
827                                                                 </goals>
828                                                                 <configuration>
829                                                                         <file>${basedir}/src/main/resources/swagger.json</file>
830                                                                         <groupId>${project.groupId}</groupId>
831                                                                         <artifactId>${project.artifactId}-swagger-schema</artifactId>
832                                                                         <version>${project.version}</version>
833                                                                         <packaging>json</packaging>
834                                                                 </configuration>
835                                                         </execution>
836                                                 </executions>
837                                         </plugin>
838                                 </plugins>
839                         </build>
840                 </profile>
841                 <profile>
842                         <id>generate-sdk</id>
843                         <activation>
844                                 <file>
845                                         <exists>${swagger-json}</exists>
846                                 </file>
847                                 <property>
848                                         <name>swagger-sdk.generate-java-sdk</name>
849                                 </property>
850                         </activation>
851                         <build>
852                                 <plugins>
853                                         <plugin>
854                                                 <groupId>org.apache.maven.plugins</groupId>
855                                                 <artifactId>maven-antrun-plugin</artifactId>
856                                                 <version>1.8</version>
857                                                 <executions>
858                                                         <execution>
859                                                                 <phase>initialize</phase>
860                                                                 <id>ant-create-script</id>
861                                                                 <configuration>
862                                                                         <exportAntProperties>true</exportAntProperties>
863                                                                         <tasks>
864                                                                                 <taskdef resource="net/sf/antcontrib/antlib.xml"
865                                                                                                  classpathref="maven.plugin.classpath"/>
866                                                                                 <condition property="is_windows" value="true">
867                                                                                         <os family="windows"/>
868                                                                                 </condition>
869                                                                                 <condition property="isLinux" value="true">
870                                                                                         <os family="unix"/>
871                                                                                 </condition>
872                                                                                 <if>
873                                                                                         <equals arg1="${is_windows}" arg2="true"/>
874                                                                                         <then>
875                                                                                                 <property name="swagger.sdk.script.file"
876                                                                                                                   value="generated-source-script.bat"/>
877                                                                                                 <echo
878                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.bat"
879                                                                                                 append="true"
880                                                                                                 message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
881                                                                                                 <echo
882                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.bat"
883                                                                                                 append="true"
884                                                                                                 message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
885                                                                                         </then>
886                                                                                         <else>
887                                                                                                 <property name="swagger.sdk.script.file"
888                                                                                                                   value="generated-source-script.sh"/>
889                                                                                                 <echo
890                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.sh"
891                                                                                                 append="true"
892                                                                                                 message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
893                                                                                                 <echo
894                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.sh"
895                                                                                                 append="true"
896                                                                                                 message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
897                                                                                                 <chmod
898                                                                                                 file="${project.build.directory}${file.separator}generated-source-script.sh"
899                                                                                                 perm="755"/>
900                                                                                         </else>
901                                                                                 </if>
902                                                                         </tasks>
903                                                                 </configuration>
904                                                                 <goals>
905                                                                         <goal>run</goal>
906                                                                 </goals>
907                                                         </execution>
908                                                 </executions>
909                                                 <dependencies>
910                                                         <dependency>
911                                                                 <groupId>ant-contrib</groupId>
912                                                                 <artifactId>ant-contrib</artifactId>
913                                                                 <version>1.0b3</version>
914                                                                 <exclusions>
915                                                                         <exclusion>
916                                                                                 <groupId>ant</groupId>
917                                                                                 <artifactId>ant</artifactId>
918                                                                         </exclusion>
919                                                                 </exclusions>
920                                                         </dependency>
921                                                 </dependencies>
922                                         </plugin>
923                                         <plugin>
924                                                 <groupId>io.swagger</groupId>
925                                                 <artifactId>swagger-codegen-maven-plugin</artifactId>
926                                                 <version>2.2.1</version>
927                                                 <executions>
928                                                         <execution>
929                                                                 <goals>
930                                                                         <goal>generate</goal>
931                                                                 </goals>
932                                                                 <configuration>
933                                                                         <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
934                                                                         <output>${project.build.directory}/generated-sources</output>
935                                                                         <language>java</language>
936                                                                         <configOptions>
937                                                                                 <dateLibrary>joda</dateLibrary>
938                                                                         </configOptions>
939                                                                         <library>jersey2</library>
940                                                                         <groupId>${project.groupId}</groupId>
941                                                                         <artifactId>${project.artifactId}-java-sdk</artifactId>
942                                                                         <artifactVersion>${project.version}</artifactVersion>
943                                                                         <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
944                                                                         <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
945                                                                         <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
946                                                                 </configuration>
947                                                         </execution>
948                                                 </executions>
949                                         </plugin>
950                                         <plugin>
951                                                 <groupId>org.codehaus.mojo</groupId>
952                                                 <artifactId>exec-maven-plugin</artifactId>
953                                                 <version>1.5.0</version>
954                                                 <executions>
955                                                         <execution>
956                                                                 <id>swagger-generate-sources</id>
957                                                                 <phase>generate-sources</phase>
958                                                                 <goals>
959                                                                         <goal>exec</goal>
960                                                                 </goals>
961                                                                 <configuration>
962                                                                         <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
963                                                                 </configuration>
964                                                         </execution>
965                                                 </executions>
966                                         </plugin>
967                                         <plugin>
968                                                 <groupId>org.apache.maven.plugins</groupId>
969                                                 <artifactId>maven-clean-plugin</artifactId>
970                                                 <version>3.0.0</version>
971                                                 <executions>
972                                                         <execution>
973                                                                 <id>clean-generated-files</id>
974                                                                 <phase>generate-sources</phase>
975                                                                 <goals>
976                                                                         <goal>clean</goal>
977                                                                 </goals>
978                                                                 <configuration>
979                                                                         <filesets>
980                                                                                 <fileset>
981                                                                                         <directory>${project.build.directory}/generated-sources</directory>
982                                                                                 </fileset>
983                                                                         </filesets>
984                                                                 </configuration>
985                                                         </execution>
986                                                 </executions>
987                                         </plugin>
988                                 </plugins>
989                         </build>
990                         <dependencies>
991                                 <dependency>
992                                         <groupId>org.onap.msb.swagger-sdk</groupId>
993                                         <artifactId>swagger-sdk</artifactId>
994                                         <version>1.0.0</version>
995                                 </dependency>
996                         </dependencies>
997                 </profile>
998
999                 <!-- End of profiles from ONAP oparent -->
1000
1001                 <profile>
1002                         <id>yang-compile</id>
1003                         <activation>
1004                                 <file>
1005                                         <exists>src/main/yang</exists>
1006                                 </file>
1007                         </activation>
1008                         <build>
1009                                 <plugins>
1010                                         <plugin>
1011                                                 <groupId>org.opendaylight.yangtools</groupId>
1012                                                 <artifactId>yang-maven-plugin</artifactId>
1013                                                 <version>2.1.8</version>
1014                                                 <dependencies>
1015                                                         <dependency>
1016                                                                 <groupId>org.opendaylight.mdsal</groupId>
1017                                                                 <artifactId>maven-sal-api-gen-plugin</artifactId>
1018                                                                 <version>${odl.mdsal.model.version}</version>
1019                                                                 <type>jar</type>
1020                                                         </dependency>
1021                                                         <dependency>
1022                                                                 <groupId>org.opendaylight.netconf</groupId>
1023                                                                 <artifactId>sal-rest-docgen-maven</artifactId>
1024                                                                 <version>${odl.netconf.sal.rest.docgen.version}</version>
1025                                                                 <type>jar</type>
1026                                                         </dependency>
1027                                                 </dependencies>
1028                                                 <executions>
1029                                                         <execution>
1030                                                                 <goals>
1031                                                                         <goal>generate-sources</goal>
1032                                                                 </goals>
1033                                                                 <configuration>
1034                                                                         <yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
1035                                                                         <codeGenerators>
1036                                                                                 <generator>
1037                                                                                         <codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
1038                                                                                         <outputBaseDir>${salGeneratorPath}</outputBaseDir>
1039                                                                                 </generator>
1040                                                                                 <generator>
1041                                                                                         <codeGeneratorClass>org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator</codeGeneratorClass>
1042                                                                                         <outputBaseDir>target/swagger</outputBaseDir>
1043                                                                                 </generator>
1044                                                                         </codeGenerators>
1045                                                                         <inspectDependencies>true</inspectDependencies>
1046                                                                 </configuration>
1047                                                         </execution>
1048                                                 </executions>
1049                                         </plugin>
1050                                 </plugins>
1051                         </build>
1052                 </profile>
1053
1054         </profiles>
1055 </project>