Release ccsdk/parent
[ccsdk/parent.git] / oparent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4
5     <parent>
6         <groupId>org.onap.oparent</groupId>
7         <artifactId>oparent</artifactId>
8         <version>3.1.0</version>
9         <relativePath/>
10     </parent>
11
12     <groupId>org.onap.ccsdk.parent</groupId>
13     <artifactId>oparent</artifactId>
14     <version>2.1.6</version>
15     <packaging>pom</packaging>
16
17     <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
18     <description>Root POM to be used in place of oparent for CCSDK based projects</description>
19     <url>http://wiki.onap.org</url>
20     <organization>
21         <name>ONAP</name>
22     </organization>
23
24     <issueManagement>
25         <system>JIRA</system>
26         <url>https://jira.onap.org/</url>
27     </issueManagement>
28     <distributionManagement>
29         <repository>
30             <id>ecomp-releases</id>
31             <url>${onap.nexus.release-url}</url>
32         </repository>
33         <snapshotRepository>
34             <id>ecomp-snapshots</id>
35             <url>${onap.nexus.snapshot-url}</url>
36         </snapshotRepository>
37     </distributionManagement>
38
39     <properties>
40         <!-- Sonar properties -->
41         <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
42         <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
43         <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
44         <!-- Default Sonar configuration -->
45         <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml,${project.reporting.outputDirectory}/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
46         <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
47         <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
48
49         <!-- Jacoco properties -->
50         <jacoco.version>0.8.5</jacoco.version>
51         <!-- ONAP repositories -->
52         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
53         <onap.nexus.host>nexus.onap.org</onap.nexus.host>
54         <onap.nexus.port>443</onap.nexus.port>
55         <onap.nexus.protocol>https</onap.nexus.protocol>
56         <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
57         <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
58         <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
59         <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
60         <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
61         <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
62
63         <java.version>11</java.version>
64         <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
65         <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
66         <bundle.plugin.version>4.2.1</bundle.plugin.version>
67         <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
68         <checkstyle.skip>true</checkstyle.skip>
69
70         <!-- CCSDK component versions -->
71         <ccsdk.cds.version>1.1.4</ccsdk.cds.version>
72         <ccsdk.features.version>1.1.5</ccsdk.features.version>
73         <ccsdk.sli.version>1.2.3</ccsdk.sli.version>
74         <ccsdk.sli.core.version>${ccsdk.sli.version}</ccsdk.sli.core.version>
75         <ccsdk.sli.adaptors.version>${ccsdk.sli.version}</ccsdk.sli.adaptors.version>
76         <ccsdk.sli.northbound.version>${ccsdk.sli.version}</ccsdk.sli.northbound.version>
77         <ccsdk.sli.plugins.version>${ccsdk.sli.version}</ccsdk.sli.plugins.version>
78         <ccsdk.distribution.version>1.1.6</ccsdk.distribution.version>
79
80         <mariadb.connector.version>2.4.4</mariadb.connector.version>
81         <fasterxml.jackson.version>2.10.5</fasterxml.jackson.version>
82         <velocity.version>2.0</velocity.version>
83         <!-- Using dmaapClient 1.1.5 as SLI needs java package as com.att.nsa.mr and dmaapClient 1.1.12 has org.onap.dmaap.mr -->
84         <dmaap.listener.version>1.1.5</dmaap.listener.version>
85         <sdc.client.version>1.4.1</sdc.client.version>
86         <sdc.tosca.version>1.6.5</sdc.tosca.version>
87
88         <antlr.version>4.8-1</antlr.version>
89     </properties>
90
91     <dependencyManagement>
92         <dependencies>
93             <dependency>
94                 <groupId>org.onap.ccsdk.parent</groupId>
95                 <artifactId>dependencies-bom</artifactId>
96                 <version>2.1.6</version>
97                 <type>pom</type>
98                 <scope>import</scope>
99             </dependency>
100             <dependency>
101                 <groupId>org.springframework.boot</groupId>
102                 <artifactId>spring-boot-dependencies</artifactId>
103                 <version>2.3.8.RELEASE</version>
104                 <type>pom</type>
105                 <scope>import</scope>
106             </dependency>
107             <dependency>
108                 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
109                 <artifactId>sdc-distribution-client</artifactId>
110                 <version>${sdc.client.version}</version>
111                 <scope>compile</scope>
112             </dependency>
113             <dependency>
114                 <groupId>org.onap.sdc.sdc-tosca</groupId>
115                 <artifactId>sdc-tosca</artifactId>
116                 <version>${sdc.tosca.version}</version>
117                 <scope>compile</scope>
118             </dependency>
119             <dependency>
120                 <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
121                 <artifactId>dmaapClient</artifactId>
122                 <version>${dmaap.listener.version}</version>
123             </dependency>
124         </dependencies>
125     </dependencyManagement>
126     <dependencies>
127         <dependency>
128             <groupId>javax.annotation</groupId>
129             <artifactId>javax.annotation-api</artifactId>
130             <version>1.3.2</version>
131         </dependency>
132         <dependency>
133             <groupId>junit</groupId>
134             <artifactId>junit</artifactId>
135             <scope>test</scope>
136         </dependency>
137         <dependency>
138             <groupId>org.slf4j</groupId>
139             <artifactId>slf4j-api</artifactId>
140             <scope>provided</scope>
141         </dependency>
142         <dependency>
143             <groupId>org.slf4j</groupId>
144             <artifactId>slf4j-simple</artifactId>
145             <scope>test</scope>
146         </dependency>
147         <dependency>
148             <groupId>org.mockito</groupId>
149             <artifactId>mockito-core</artifactId>
150             <version>1.10.19</version>
151             <scope>test</scope>
152         </dependency>
153         <dependency>
154             <groupId>org.testng</groupId>
155             <artifactId>testng</artifactId>
156             <version>6.11</version>
157             <scope>test</scope>
158         </dependency>
159     </dependencies>
160
161     <repositories>
162         <repository>
163             <id>onap-public</id>
164             <url>${onap.nexus.public-url}</url>
165             <releases>
166                 <enabled>true</enabled>
167                 <updatePolicy>never</updatePolicy>
168             </releases>
169             <snapshots>
170                 <enabled>true</enabled>
171                 <updatePolicy>always</updatePolicy>
172             </snapshots>
173         </repository>
174         <repository>
175             <id>onap-staging</id>
176             <url>${onap.nexus.staging-url}</url>
177             <releases>
178                 <enabled>true</enabled>
179                 <updatePolicy>never</updatePolicy>
180             </releases>
181             <snapshots>
182                 <enabled>true</enabled>
183                 <updatePolicy>always</updatePolicy>
184             </snapshots>
185         </repository>
186         <repository>
187             <id>ecomp-release</id>
188             <name>onap-repository-releases</name>
189             <url>${onap.nexus.release-url}</url>
190             <releases>
191                 <enabled>true</enabled>
192                 <updatePolicy>never</updatePolicy>
193             </releases>
194             <snapshots>
195                 <enabled>false</enabled>
196             </snapshots>
197         </repository>
198         <repository>
199             <id>ecomp-snapshot</id>
200             <name>onap-repository-snapshots</name>
201             <url>${onap.nexus.snapshot-url}</url>
202             <releases>
203                 <enabled>false</enabled>
204             </releases>
205             <snapshots>
206                 <enabled>true</enabled>
207             </snapshots>
208         </repository>
209     </repositories>
210     <pluginRepositories>
211         <pluginRepository>
212             <id>onap-public</id>
213             <url>${onap.nexus.public-url}</url>
214             <releases>
215                 <enabled>true</enabled>
216             </releases>
217             <snapshots>
218                 <enabled>true</enabled>
219             </snapshots>
220         </pluginRepository>
221         <pluginRepository>
222             <id>onap-staging</id>
223             <url>${onap.nexus.staging-url}</url>
224             <releases>
225                 <enabled>true</enabled>
226             </releases>
227             <snapshots>
228                 <enabled>true</enabled>
229             </snapshots>
230         </pluginRepository>
231         <pluginRepository>
232             <id>onap-snapshot</id>
233             <url>${onap.nexus.snapshot-url}</url>
234             <releases>
235                 <enabled>false</enabled>
236             </releases>
237             <snapshots>
238                 <enabled>true</enabled>
239             </snapshots>
240         </pluginRepository>
241         <!-- Black Duck plugin dependencies -->
242         <pluginRepository>
243             <id>JCenter</id>
244             <name>JCenter Repository</name>
245             <url>http://jcenter.bintray.com</url>
246         </pluginRepository>
247         <pluginRepository>
248             <id>Restlet</id>
249             <name>Restlet Repository</name>
250             <url>http://maven.restlet.com</url>
251         </pluginRepository>
252     </pluginRepositories>
253
254     <build>
255         <pluginManagement>
256             <plugins>
257                 <plugin>
258                     <groupId>org.apache.maven.plugins</groupId>
259                     <artifactId>maven-deploy-plugin</artifactId>
260                     <!-- This version supports the "deployAtEnd" parameter -->
261                     <version>2.8</version>
262                     <configuration>
263                         <skip/>
264                         <deployAtEnd>true</deployAtEnd>
265                     </configuration>
266                  </plugin>
267                  <plugin>
268                     <groupId>org.apache.maven.plugins</groupId>
269                     <artifactId>maven-compiler-plugin</artifactId>
270                     <version>${maven-compiler-plugin.version}</version>
271                     <configuration>
272                         <release>${java.version}</release>
273                         <!--explicitly remove source and target-->
274                         <source combine.self="override"/>
275                         <target combine.self="override"/>
276                     </configuration>
277                 </plugin>
278                 <plugin>
279                     <groupId>org.apache.maven.plugins</groupId>
280                     <artifactId>maven-resources-plugin</artifactId>
281                     <version>3.2.0</version>
282                 </plugin>
283                 <plugin>
284                     <groupId>org.antlr</groupId>
285                     <artifactId>antlr4-maven-plugin</artifactId>
286                     <version>4.7.2</version>
287                 </plugin>
288             </plugins>
289         </pluginManagement>
290         <plugins>
291             <!-- Jacoco / Sonar -->
292             <plugin>
293                 <groupId>org.jacoco</groupId>
294                 <artifactId>jacoco-maven-plugin</artifactId>
295                 <version>${jacoco.version}</version>
296                 <executions>
297                     <execution>
298                         <id>pre-unit-test</id>
299                         <goals>
300                             <goal>prepare-agent</goal>
301                         </goals>
302                         <configuration>
303                             <!-- Sets the path to the file which contains the execution data. -->
304                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
305                             <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
306                             <propertyName>surefireArgLine</propertyName>
307                         </configuration>
308                     </execution>
309                     <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. -->
310                     <execution>
311                         <id>post-unit-test</id>
312                         <phase>test</phase>
313                         <goals>
314                             <goal>report</goal>
315                         </goals>
316                         <configuration>
317                             <!-- Sets the path to the file which contains the execution data. -->
318                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
319                             <!-- Sets the output directory for the code coverage report. -->
320                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
321                         </configuration>
322                     </execution>
323                     <execution>
324                         <id>pre-integration-test</id>
325                         <phase>pre-integration-test</phase>
326                         <goals>
327                             <goal>prepare-agent</goal>
328                         </goals>
329                         <configuration>
330                             <!-- Sets the path to the file which contains the execution data. -->
331                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
332                             <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
333                             <propertyName>failsafeArgLine</propertyName>
334                         </configuration>
335                     </execution>
336                     <!-- Ensures that the code coverage report for integration tests after integration tests have been run. -->
337                     <execution>
338                         <id>post-integration-test</id>
339                         <phase>post-integration-test</phase>
340                         <goals>
341                             <goal>report</goal>
342                         </goals>
343                         <configuration>
344                             <!-- Sets the path to the file which contains the execution data. -->
345                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
346                             <!-- Sets the output directory for the code coverage report. -->
347                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
348                         </configuration>
349                     </execution>
350                     <execution>
351                         <id>default-prepare-agent</id>
352                         <goals>
353                             <goal>prepare-agent</goal>
354                         </goals>
355                     </execution>
356                     <execution>
357                         <id>default-report</id>
358                         <phase>prepare-package</phase>
359                         <goals>
360                             <goal>report</goal>
361                         </goals>
362                     </execution>
363                     <execution>
364                         <id>default-check</id>
365                         <goals>
366                             <goal>check</goal>
367                         </goals>
368                         <configuration>
369                             <rules>
370                                 <rule>
371                                     <element>PACKAGE</element>
372                                     <limits>
373                                         <limit>
374                                             <counter>COMPLEXITY</counter>
375                                             <value>COVEREDRATIO</value>
376                                             <minimum>0.0</minimum>
377                                         </limit>
378                                     </limits>
379                                 </rule>
380                             </rules>
381                         </configuration>
382                     </execution>
383                 </executions>
384             </plugin>
385             <plugin>
386                 <groupId>org.codehaus.mojo</groupId>
387                 <artifactId>versions-maven-plugin</artifactId>
388                 <version>2.5</version>
389                 <configuration>
390                     <processAllModules>true</processAllModules>
391                 </configuration>
392             </plugin>
393             <plugin>
394                 <groupId>org.apache.felix</groupId>
395                 <artifactId>maven-bundle-plugin</artifactId>
396                 <version>${bundle.plugin.version}</version>
397                 <extensions>true</extensions>
398             </plugin>
399             <plugin>
400                 <groupId>org.eclipse.m2e</groupId>
401                 <artifactId>lifecycle-mapping</artifactId>
402                 <version>1.0.0</version>
403                 <configuration>
404                     <lifecycleMappingMetadata>
405                         <pluginExecutions>
406                             <pluginExecution>
407                                 <pluginExecutionFilter>
408                                     <groupId>org.apache.felix</groupId>
409                                     <artifactId>maven-bundle-plugin</artifactId>
410                                     <versionRange>[1.0,)</versionRange>
411                                     <goals>
412                                         <goal>manifest</goal>
413                                     </goals>
414                                 </pluginExecutionFilter>
415                                 <action>
416                                     <execute />
417                                     <ignore />
418                                 </action>
419                             </pluginExecution>
420                         </pluginExecutions>
421                     </lifecycleMappingMetadata>
422                 </configuration>
423             </plugin>
424         </plugins>
425     </build>
426
427     <profiles>
428         <profile>
429             <id>sonar-jacoco-aggregate</id>
430             <activation>
431                 <property>
432                     <name>onap.jacoco.aggregateFile</name>
433                 </property>
434             </activation>
435             <build>
436                 <plugins>
437                     <plugin>
438                         <groupId>org.jacoco</groupId>
439                         <artifactId>jacoco-maven-plugin</artifactId>
440                         <executions>
441                             <execution>
442                                 <id>merge</id>
443                                 <goals>
444                                     <goal>merge</goal>
445                                 </goals>
446                                 <phase>generate-resources</phase>
447                                 <configuration>
448                                     <destFile>${onap.jacoco.aggregateFile}</destFile>
449                                     <fileSets>
450                                         <fileSet>
451                                             <directory>${project.basedir}</directory>
452                                             <includes>
453                                                 <include>**/target/code-coverage/*.exec</include>
454                                             </includes>
455                                         </fileSet>
456                                     </fileSets>
457                                 </configuration>
458                             </execution>
459                         </executions>
460                     </plugin>
461                 </plugins>
462             </build>
463         </profile>
464     </profiles>
465 </project>