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