Update maven config to compile with java 17
[ccsdk/parent.git] / standalone / 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>standalone-parent</artifactId>
14     <version>2.5.2-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.8</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.source>17</java.version.source>
64         <java.version.target>17</java.version.target>
65         <maven.compiler.source>17</maven.compiler.source>
66         <maven.compiler.target>17</maven.compiler.target>
67         <bundle.plugin.version>5.1.1</bundle.plugin.version>
68         <checkstyle.skip>true</checkstyle.skip>
69
70         <log4j.version>2.17.1</log4j.version>
71         <log4j2.version>2.17.1</log4j2.version>
72         <mariadb.connector.version>2.7.2</mariadb.connector.version>
73         <fasterxml.jackson.version>2.12.4</fasterxml.jackson.version>
74         <velocity.version>2.3</velocity.version>
75         <dmaap.listener.version>1.1.14</dmaap.listener.version>
76         <sdc.client.version>2.0.0</sdc.client.version>
77         <sdc.tosca.version>1.6.5</sdc.tosca.version>
78
79         <dependency-list.file>direct-dependencies.txt</dependency-list.file>
80     </properties>
81
82     <dependencyManagement>
83         <dependencies>
84             <dependency>
85                 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
86                 <artifactId>sdc-distribution-client</artifactId>
87                 <version>${sdc.client.version}</version>
88                 <scope>compile</scope>
89             </dependency>
90             <dependency>
91                 <groupId>org.onap.sdc.sdc-tosca</groupId>
92                 <artifactId>sdc-tosca</artifactId>
93                 <version>${sdc.tosca.version}</version>
94                 <scope>compile</scope>
95             </dependency>
96             <dependency>
97                 <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
98                 <artifactId>dmaapClient</artifactId>
99                 <version>${dmaap.listener.version}</version>
100             </dependency>
101             <dependency>
102                 <groupId>org.slf4j</groupId>
103                 <artifactId>slf4j-api</artifactId>
104                 <version>1.7.29</version>
105             </dependency>
106             <dependency>
107                 <groupId>org.apache.logging.log4j</groupId>
108                 <artifactId>log4j-api</artifactId>
109                 <version>2.17.1</version>
110             </dependency>
111             <dependency>
112                 <groupId>org.apache.logging.log4j</groupId>
113                 <artifactId>log4j-core</artifactId>
114                 <version>2.17.1</version>
115             </dependency>
116             <dependency>
117                 <groupId>org.apache.logging.log4j</groupId>
118                 <artifactId>log4j-slf4j-impl</artifactId>
119                 <version>2.17.1</version>
120             </dependency>
121             <dependency>
122                 <groupId>com.fasterxml.jackson.core</groupId>
123                 <artifactId>jackson-core</artifactId>
124                 <version>${fasterxml.jackson.version}</version>
125             </dependency>
126             <dependency>
127                 <groupId>com.fasterxml.jackson.core</groupId>
128                 <artifactId>jackson-databind</artifactId>
129                 <version>${fasterxml.jackson.version}</version>
130             </dependency>
131             <dependency>
132                 <groupId>com.fasterxml.jackson.core</groupId>
133                 <artifactId>jackson-annotations</artifactId>
134                 <version>${fasterxml.jackson.version}</version>
135             </dependency>
136             <dependency>
137                 <groupId>org.apache.velocity</groupId>
138                 <artifactId>velocity-engine-core</artifactId>
139                 <version>${velocity.version}</version>
140             </dependency>
141             <dependency>
142                 <groupId>junit</groupId>
143                 <artifactId>junit</artifactId>
144                 <version>4.13.2</version>
145                 <scope>test</scope>
146             </dependency>
147             <dependency>
148                 <groupId>org.mockito</groupId>
149                 <artifactId>mockito-core</artifactId>
150                 <version>3.12.4</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             <dependency>
160                 <groupId>ch.vorburger.mariaDB4j</groupId>
161                 <artifactId>mariaDB4j</artifactId>
162                 <version>2.2.3</version>
163                 <scope>test</scope>
164             </dependency>
165         </dependencies>
166     </dependencyManagement>
167
168     <repositories>
169         <repository>
170             <id>onap-public</id>
171             <url>${onap.nexus.public-url}</url>
172             <releases>
173                 <enabled>true</enabled>
174                 <updatePolicy>never</updatePolicy>
175             </releases>
176             <snapshots>
177                 <enabled>true</enabled>
178                 <updatePolicy>always</updatePolicy>
179             </snapshots>
180         </repository>
181         <repository>
182             <id>onap-staging</id>
183             <url>${onap.nexus.staging-url}</url>
184             <releases>
185                 <enabled>true</enabled>
186                 <updatePolicy>never</updatePolicy>
187             </releases>
188             <snapshots>
189                 <enabled>true</enabled>
190                 <updatePolicy>always</updatePolicy>
191             </snapshots>
192         </repository>
193         <repository>
194             <id>ecomp-release</id>
195             <name>onap-repository-releases</name>
196             <url>${onap.nexus.release-url}</url>
197             <releases>
198                 <enabled>true</enabled>
199                 <updatePolicy>never</updatePolicy>
200             </releases>
201             <snapshots>
202                 <enabled>false</enabled>
203             </snapshots>
204         </repository>
205         <repository>
206             <id>ecomp-snapshot</id>
207             <name>onap-repository-snapshots</name>
208             <url>${onap.nexus.snapshot-url}</url>
209             <releases>
210                 <enabled>false</enabled>
211             </releases>
212             <snapshots>
213                 <enabled>true</enabled>
214             </snapshots>
215         </repository>
216     </repositories>
217     <pluginRepositories>
218         <pluginRepository>
219             <id>onap-public</id>
220             <url>${onap.nexus.public-url}</url>
221             <releases>
222                 <enabled>true</enabled>
223             </releases>
224             <snapshots>
225                 <enabled>true</enabled>
226             </snapshots>
227         </pluginRepository>
228         <pluginRepository>
229             <id>onap-staging</id>
230             <url>${onap.nexus.staging-url}</url>
231             <releases>
232                 <enabled>true</enabled>
233             </releases>
234             <snapshots>
235                 <enabled>true</enabled>
236             </snapshots>
237         </pluginRepository>
238         <pluginRepository>
239             <id>onap-snapshot</id>
240             <url>${onap.nexus.snapshot-url}</url>
241             <releases>
242                 <enabled>false</enabled>
243             </releases>
244             <snapshots>
245                 <enabled>true</enabled>
246             </snapshots>
247         </pluginRepository>
248         <!-- Black Duck plugin dependencies -->
249         <pluginRepository>
250             <id>JCenter</id>
251             <name>JCenter Repository</name>
252             <url>http://jcenter.bintray.com</url>
253         </pluginRepository>
254         <pluginRepository>
255             <id>Restlet</id>
256             <name>Restlet Repository</name>
257             <url>http://maven.restlet.com</url>
258         </pluginRepository>
259     </pluginRepositories>
260
261     <build>
262         <pluginManagement>
263             <plugins>
264                 <plugin>
265                     <groupId>org.apache.maven.plugins</groupId>
266                     <artifactId>maven-deploy-plugin</artifactId>
267                     <!-- This version supports the "deployAtEnd" parameter -->
268                     <version>2.8</version>
269                     <configuration>
270                         <skip/>
271                         <deployAtEnd>true</deployAtEnd>
272                     </configuration>
273                 </plugin>
274                 <plugin>
275                     <groupId>com.github.ferstl</groupId>
276                     <artifactId>depgraph-maven-plugin</artifactId>
277                     <version>3.3.0</version>
278                     <configuration>
279                         <graphFormat>text</graphFormat>
280                         <outputFileName>${dependency-list.file}</outputFileName>
281                         <outputDirectory>${project.basedir}</outputDirectory>
282                         <transitiveExcludes>*</transitiveExcludes>
283                         <showVersions>true</showVersions>
284                         <showGroupIds>true</showGroupIds>
285                     </configuration>
286                 </plugin>
287             </plugins>
288         </pluginManagement>
289         <plugins>
290             <!-- Jacoco / Sonar -->
291             <plugin>
292                 <groupId>org.jacoco</groupId>
293                 <artifactId>jacoco-maven-plugin</artifactId>
294                 <version>${jacoco.version}</version>
295                 <executions>
296                     <execution>
297                         <id>pre-unit-test</id>
298                         <goals>
299                             <goal>prepare-agent</goal>
300                         </goals>
301                         <configuration>
302                             <!-- Sets the path to the file which contains the execution data. -->
303                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
304                             <!-- Sets the name of the property containing the settings for JaCoCo
305                                                                  runtime agent. -->
306                             <propertyName>surefireArgLine</propertyName>
307                         </configuration>
308                     </execution>
309                     <!-- Ensures that the code coverage report for unit tests is created
310                                                  after unit tests have been run. -->
311                     <execution>
312                         <id>post-unit-test</id>
313                         <phase>test</phase>
314                         <goals>
315                             <goal>report</goal>
316                         </goals>
317                         <configuration>
318                             <!-- Sets the path to the file which contains the execution data. -->
319                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
320                             <!-- Sets the output directory for the code coverage report. -->
321                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
322                         </configuration>
323                     </execution>
324                     <execution>
325                         <id>pre-integration-test</id>
326                         <phase>pre-integration-test</phase>
327                         <goals>
328                             <goal>prepare-agent</goal>
329                         </goals>
330                         <configuration>
331                             <!-- Sets the path to the file which contains the execution data. -->
332                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
333                             <!-- Sets the name of the property containing the settings for JaCoCo
334                                                                  runtime agent. -->
335                             <propertyName>failsafeArgLine</propertyName>
336                         </configuration>
337                     </execution>
338                     <!-- Ensures that the code coverage report for integration tests after
339                                                  integration tests have been run. -->
340                     <execution>
341                         <id>post-integration-test</id>
342                         <phase>post-integration-test</phase>
343                         <goals>
344                             <goal>report</goal>
345                         </goals>
346                         <configuration>
347                             <!-- Sets the path to the file which contains the execution data. -->
348                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
349                             <!-- Sets the output directory for the code coverage report. -->
350                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
351                         </configuration>
352                     </execution>
353                     <execution>
354                         <id>default-prepare-agent</id>
355                         <goals>
356                             <goal>prepare-agent</goal>
357                         </goals>
358                     </execution>
359                     <execution>
360                         <id>default-report</id>
361                         <phase>prepare-package</phase>
362                         <goals>
363                             <goal>report</goal>
364                         </goals>
365                     </execution>
366                     <execution>
367                         <id>default-check</id>
368                         <goals>
369                             <goal>check</goal>
370                         </goals>
371                         <configuration>
372                             <rules>
373                                 <rule>
374                                     <element>PACKAGE</element>
375                                     <limits>
376                                         <limit>
377                                             <counter>COMPLEXITY</counter>
378                                             <value>COVEREDRATIO</value>
379                                             <minimum>0.0</minimum>
380                                         </limit>
381                                     </limits>
382                                 </rule>
383                             </rules>
384                         </configuration>
385                     </execution>
386                 </executions>
387             </plugin>
388             <plugin>
389                 <groupId>org.codehaus.mojo</groupId>
390                 <artifactId>versions-maven-plugin</artifactId>
391                 <version>2.5</version>
392                 <configuration>
393                     <processAllModules>true</processAllModules>
394                 </configuration>
395             </plugin>
396         </plugins>
397     </build>
398
399     <profiles>
400         <profile>
401             <id>sonar-jacoco-aggregate</id>
402             <activation>
403                 <property>
404                     <name>onap.jacoco.aggregateFile</name>
405                 </property>
406             </activation>
407             <build>
408                 <plugins>
409                     <plugin>
410                         <groupId>org.jacoco</groupId>
411                         <artifactId>jacoco-maven-plugin</artifactId>
412                         <executions>
413                             <execution>
414                                 <id>merge</id>
415                                 <goals>
416                                     <goal>merge</goal>
417                                 </goals>
418                                 <phase>generate-resources</phase>
419                                 <configuration>
420                                     <destFile>${onap.jacoco.aggregateFile}</destFile>
421                                     <fileSets>
422                                         <fileSet>
423                                             <directory>${project.basedir}</directory>
424                                             <includes>
425                                                 <include>**/target/code-coverage/*.exec</include>
426                                             </includes>
427                                         </fileSet>
428                                     </fileSets>
429                                 </configuration>
430                             </execution>
431                         </executions>
432                     </plugin>
433                 </plugins>
434             </build>
435         </profile>
436     </profiles>
437 </project>