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