329573fbc5a7fd721a2f9cf5247a02898237f76c
[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.3.1</version>
9         <relativePath/>
10     </parent>
11
12     <groupId>org.onap.ccsdk.parent</groupId>
13     <artifactId>oparent</artifactId>
14     <version>2.4.1-SNAPSHOT</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         <logback.version>1.2.11</logback.version>
70
71         <!-- CCSDK component versions -->
72         <ccsdk.cds.version>(1.3.9999, 1.4.99999-SNAPSHOT]</ccsdk.cds.version>
73         <ccsdk.features.version>(1.3.99999, 1.4.99999-SNAPSHOT]</ccsdk.features.version>
74         <ccsdk.sli.version>(1.4.99999, 1.5.99999-SNAPSHOT]</ccsdk.sli.version>
75         <ccsdk.sli.core.version>${ccsdk.sli.version}</ccsdk.sli.core.version>
76         <ccsdk.sli.adaptors.version>${ccsdk.sli.version}</ccsdk.sli.adaptors.version>
77         <ccsdk.sli.northbound.version>${ccsdk.sli.version}</ccsdk.sli.northbound.version>
78         <ccsdk.sli.plugins.version>${ccsdk.sli.version}</ccsdk.sli.plugins.version>
79         <ccsdk.distribution.version>1.1.1-SNAPSHOT</ccsdk.distribution.version>
80
81         <log4j.version>2.17.1</log4j.version>
82         <log4j2.version>2.17.1</log4j2.version>
83         <mariadb.connector.version>2.7.5</mariadb.connector.version>
84         <fasterxml.jackson.version>2.10.5</fasterxml.jackson.version>
85         <velocity.version>2.3</velocity.version>
86         <dmaap.listener.version>1.1.12</dmaap.listener.version>
87         <sdc.client.version>1.4.1</sdc.client.version>
88         <sdc.tosca.version>1.6.5</sdc.tosca.version>
89
90         <antlr.version>4.8-1</antlr.version>
91     </properties>
92
93     <dependencyManagement>
94         <dependencies>
95             <dependency>
96                 <!-- keep groupId and version as plain and not as var,
97                 otherwise ccsdk/distribution/dependencies is not resolving correctly -->
98                 <groupId>org.onap.ccsdk.parent</groupId>
99                 <artifactId>dependencies-bom</artifactId>
100                 <version>2.4.1-SNAPSHOT</version>
101                 <type>pom</type>
102                 <scope>import</scope>
103             </dependency>
104             <dependency>
105                 <groupId>org.springframework.boot</groupId>
106                 <artifactId>spring-boot-dependencies</artifactId>
107                 <version>2.3.8.RELEASE</version>
108                 <type>pom</type>
109                 <scope>import</scope>
110             </dependency>
111             <dependency>
112                  <groupId>org.antlr</groupId>
113                  <artifactId>antlr4-runtime</artifactId>
114                  <version>${antlr.version}</version>
115             </dependency>
116             <dependency>
117                 <groupId>org.mariadb.jdbc</groupId>
118                 <artifactId>mariadb-java-client</artifactId>
119                 <version>${mariadb.connector.version}</version>
120             </dependency>
121             <dependency>
122                 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
123                 <artifactId>sdc-distribution-client</artifactId>
124                 <version>${sdc.client.version}</version>
125                 <scope>compile</scope>
126             </dependency>
127             <dependency>
128                 <groupId>org.onap.sdc.sdc-tosca</groupId>
129                 <artifactId>sdc-tosca</artifactId>
130                 <version>${sdc.tosca.version}</version>
131                 <scope>compile</scope>
132             </dependency>
133             <dependency>
134                 <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
135                 <artifactId>dmaapClient</artifactId>
136                 <version>${dmaap.listener.version}</version>
137             </dependency>
138         </dependencies>
139     </dependencyManagement>
140     <dependencies>
141         <dependency>
142             <groupId>javax.annotation</groupId>
143             <artifactId>javax.annotation-api</artifactId>
144             <version>1.3.2</version>
145         </dependency>
146         <dependency>
147             <groupId>junit</groupId>
148             <artifactId>junit</artifactId>
149             <scope>test</scope>
150         </dependency>
151         <dependency>
152             <groupId>org.slf4j</groupId>
153             <artifactId>slf4j-api</artifactId>
154             <scope>provided</scope>
155         </dependency>
156         <dependency>
157             <groupId>org.slf4j</groupId>
158             <artifactId>slf4j-simple</artifactId>
159             <scope>test</scope>
160         </dependency>
161         <dependency>
162             <groupId>org.mockito</groupId>
163             <artifactId>mockito-core</artifactId>
164             <version>3.12.4</version>
165             <scope>test</scope>
166         </dependency>
167         <dependency>
168             <groupId>org.testng</groupId>
169             <artifactId>testng</artifactId>
170             <version>6.11</version>
171             <scope>test</scope>
172         </dependency>
173     </dependencies>
174
175     <repositories>
176         <repository>
177             <id>onap-public</id>
178             <url>${onap.nexus.public-url}</url>
179             <releases>
180                 <enabled>true</enabled>
181                 <updatePolicy>never</updatePolicy>
182             </releases>
183             <snapshots>
184                 <enabled>true</enabled>
185                 <updatePolicy>always</updatePolicy>
186             </snapshots>
187         </repository>
188         <repository>
189             <id>onap-staging</id>
190             <url>${onap.nexus.staging-url}</url>
191             <releases>
192                 <enabled>true</enabled>
193                 <updatePolicy>never</updatePolicy>
194             </releases>
195             <snapshots>
196                 <enabled>true</enabled>
197                 <updatePolicy>always</updatePolicy>
198             </snapshots>
199         </repository>
200         <repository>
201             <id>ecomp-release</id>
202             <name>onap-repository-releases</name>
203             <url>${onap.nexus.release-url}</url>
204             <releases>
205                 <enabled>true</enabled>
206                 <updatePolicy>never</updatePolicy>
207             </releases>
208             <snapshots>
209                 <enabled>false</enabled>
210             </snapshots>
211         </repository>
212         <repository>
213             <id>ecomp-snapshot</id>
214             <name>onap-repository-snapshots</name>
215             <url>${onap.nexus.snapshot-url}</url>
216             <releases>
217                 <enabled>false</enabled>
218             </releases>
219             <snapshots>
220                 <enabled>true</enabled>
221             </snapshots>
222         </repository>
223     </repositories>
224     <pluginRepositories>
225         <pluginRepository>
226             <id>onap-public</id>
227             <url>${onap.nexus.public-url}</url>
228             <releases>
229                 <enabled>true</enabled>
230             </releases>
231             <snapshots>
232                 <enabled>true</enabled>
233             </snapshots>
234         </pluginRepository>
235         <pluginRepository>
236             <id>onap-staging</id>
237             <url>${onap.nexus.staging-url}</url>
238             <releases>
239                 <enabled>true</enabled>
240             </releases>
241             <snapshots>
242                 <enabled>true</enabled>
243             </snapshots>
244         </pluginRepository>
245         <pluginRepository>
246             <id>onap-snapshot</id>
247             <url>${onap.nexus.snapshot-url}</url>
248             <releases>
249                 <enabled>false</enabled>
250             </releases>
251             <snapshots>
252                 <enabled>true</enabled>
253             </snapshots>
254         </pluginRepository>
255         <!-- Black Duck plugin dependencies -->
256         <pluginRepository>
257             <id>JCenter</id>
258             <name>JCenter Repository</name>
259             <url>http://jcenter.bintray.com</url>
260         </pluginRepository>
261         <pluginRepository>
262             <id>Restlet</id>
263             <name>Restlet Repository</name>
264             <url>http://maven.restlet.com</url>
265         </pluginRepository>
266     </pluginRepositories>
267
268     <build>
269         <pluginManagement>
270             <plugins>
271                 <plugin>
272                     <groupId>org.apache.maven.plugins</groupId>
273                     <artifactId>maven-deploy-plugin</artifactId>
274                     <!-- This version supports the "deployAtEnd" parameter -->
275                     <version>2.8</version>
276                     <configuration>
277                         <skip/>
278                         <deployAtEnd>true</deployAtEnd>
279                     </configuration>
280                  </plugin>
281                  <plugin>
282                     <groupId>org.apache.maven.plugins</groupId>
283                     <artifactId>maven-compiler-plugin</artifactId>
284                     <version>${maven-compiler-plugin.version}</version>
285                     <configuration>
286                         <release>${java.version}</release>
287                         <!--explicitly remove source and target-->
288                         <source combine.self="override"/>
289                         <target combine.self="override"/>
290                     </configuration>
291                 </plugin>
292                 <plugin>
293                     <groupId>org.apache.maven.plugins</groupId>
294                     <artifactId>maven-resources-plugin</artifactId>
295                     <version>3.2.0</version>
296                 </plugin>
297                 <plugin>
298                     <groupId>org.antlr</groupId>
299                     <artifactId>antlr4-maven-plugin</artifactId>
300                     <version>${antlr.version}</version>
301                 </plugin>
302             </plugins>
303         </pluginManagement>
304         <plugins>
305             <!-- Jacoco / Sonar -->
306             <plugin>
307                 <groupId>org.jacoco</groupId>
308                 <artifactId>jacoco-maven-plugin</artifactId>
309                 <version>${jacoco.version}</version>
310                 <executions>
311                     <execution>
312                         <id>pre-unit-test</id>
313                         <goals>
314                             <goal>prepare-agent</goal>
315                         </goals>
316                         <configuration>
317                             <!-- Sets the path to the file which contains the execution data. -->
318                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
319                             <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
320                             <propertyName>surefireArgLine</propertyName>
321                         </configuration>
322                     </execution>
323                     <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. -->
324                     <execution>
325                         <id>post-unit-test</id>
326                         <phase>test</phase>
327                         <goals>
328                             <goal>report</goal>
329                         </goals>
330                         <configuration>
331                             <!-- Sets the path to the file which contains the execution data. -->
332                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
333                             <!-- Sets the output directory for the code coverage report. -->
334                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
335                         </configuration>
336                     </execution>
337                     <execution>
338                         <id>pre-integration-test</id>
339                         <phase>pre-integration-test</phase>
340                         <goals>
341                             <goal>prepare-agent</goal>
342                         </goals>
343                         <configuration>
344                             <!-- Sets the path to the file which contains the execution data. -->
345                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
346                             <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
347                             <propertyName>failsafeArgLine</propertyName>
348                         </configuration>
349                     </execution>
350                     <!-- Ensures that the code coverage report for integration tests after integration tests have been run. -->
351                     <execution>
352                         <id>post-integration-test</id>
353                         <phase>post-integration-test</phase>
354                         <goals>
355                             <goal>report</goal>
356                         </goals>
357                         <configuration>
358                             <!-- Sets the path to the file which contains the execution data. -->
359                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
360                             <!-- Sets the output directory for the code coverage report. -->
361                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
362                         </configuration>
363                     </execution>
364                     <execution>
365                         <id>default-prepare-agent</id>
366                         <goals>
367                             <goal>prepare-agent</goal>
368                         </goals>
369                     </execution>
370                     <execution>
371                         <id>default-report</id>
372                         <phase>prepare-package</phase>
373                         <goals>
374                             <goal>report</goal>
375                         </goals>
376                     </execution>
377                     <execution>
378                         <id>default-check</id>
379                         <goals>
380                             <goal>check</goal>
381                         </goals>
382                         <configuration>
383                             <rules>
384                                 <rule>
385                                     <element>PACKAGE</element>
386                                     <limits>
387                                         <limit>
388                                             <counter>COMPLEXITY</counter>
389                                             <value>COVEREDRATIO</value>
390                                             <minimum>0.0</minimum>
391                                         </limit>
392                                     </limits>
393                                 </rule>
394                             </rules>
395                         </configuration>
396                     </execution>
397                 </executions>
398             </plugin>
399             <plugin>
400                 <groupId>org.codehaus.mojo</groupId>
401                 <artifactId>versions-maven-plugin</artifactId>
402                 <version>2.5</version>
403                 <configuration>
404                     <processAllModules>true</processAllModules>
405                 </configuration>
406             </plugin>
407             <plugin>
408                 <groupId>org.apache.felix</groupId>
409                 <artifactId>maven-bundle-plugin</artifactId>
410                 <version>${bundle.plugin.version}</version>
411                 <extensions>true</extensions>
412             </plugin>
413             <plugin>
414                 <groupId>org.eclipse.m2e</groupId>
415                 <artifactId>lifecycle-mapping</artifactId>
416                 <version>1.0.0</version>
417                 <configuration>
418                     <lifecycleMappingMetadata>
419                         <pluginExecutions>
420                             <pluginExecution>
421                                 <pluginExecutionFilter>
422                                     <groupId>org.apache.felix</groupId>
423                                     <artifactId>maven-bundle-plugin</artifactId>
424                                     <versionRange>[1.0,)</versionRange>
425                                     <goals>
426                                         <goal>manifest</goal>
427                                     </goals>
428                                 </pluginExecutionFilter>
429                                 <action>
430                                     <execute />
431                                     <ignore />
432                                 </action>
433                             </pluginExecution>
434                         </pluginExecutions>
435                     </lifecycleMappingMetadata>
436                 </configuration>
437             </plugin>
438         </plugins>
439     </build>
440
441     <profiles>
442         <profile>
443             <id>sonar-jacoco-aggregate</id>
444             <activation>
445                 <property>
446                     <name>onap.jacoco.aggregateFile</name>
447                 </property>
448             </activation>
449             <build>
450                 <plugins>
451                     <plugin>
452                         <groupId>org.jacoco</groupId>
453                         <artifactId>jacoco-maven-plugin</artifactId>
454                         <executions>
455                             <execution>
456                                 <id>merge</id>
457                                 <goals>
458                                     <goal>merge</goal>
459                                 </goals>
460                                 <phase>generate-resources</phase>
461                                 <configuration>
462                                     <destFile>${onap.jacoco.aggregateFile}</destFile>
463                                     <fileSets>
464                                         <fileSet>
465                                             <directory>${project.basedir}</directory>
466                                             <includes>
467                                                 <include>**/target/code-coverage/*.exec</include>
468                                             </includes>
469                                         </fileSet>
470                                     </fileSets>
471                                 </configuration>
472                             </execution>
473                         </executions>
474                     </plugin>
475                 </plugins>
476             </build>
477         </profile>
478     </profiles>
479 </project>