[DMAAP-DR] Upgrade DataRouter to java 17
[dmaap/datarouter.git] / pom.xml
1 <!--
2   ============LICENSE_START==================================================
3   * org.onap.dmaap
4   * ===========================================================================
5   * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6   * Modifications Copyright (C) 2018 Nokia. All rights reserved.
7   * Copyright (d) 2023 J. F. Lucas.  All rights reserved.
8   * Copyright © 2023 Nordix Foundation Property. All rights reserved.
9   * ===========================================================================
10   * Licensed under the Apache License, Version 2.0 (the "License");
11   * you may not use this file except in compliance with the License.
12   * You may obtain a copy of the License at
13   *
14    *      http://www.apache.org/licenses/LICENSE-2.0
15   *
16    * Unless required by applicable law or agreed to in writing, software
17   * distributed under the License is distributed on an "AS IS" BASIS,
18   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19   * See the License for the specific language governing permissions and
20   * limitations under the License.
21   * ============LICENSE_END====================================================
22   -->
23 <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/maven-v4_0_0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25     <groupId>org.onap.dmaap.datarouter</groupId>
26     <artifactId>parent</artifactId>
27     <name>dmaap-datarouter</name>
28     <version>${revision}</version>
29     <packaging>pom</packaging>
30     <url>https://docs.onap.org/en/latest/submodules/dmaap/datarouter.git/docs/index.html</url>
31     <parent>
32         <groupId>org.onap.oparent</groupId>
33         <artifactId>oparent</artifactId>
34         <version>3.3.3</version>
35     </parent>
36     <properties>
37         <!--revision must also be set in the version.properties file at project root-->
38         <revision>2.1.15-SNAPSHOT</revision>
39         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
40         <maven.compiler.source>17</maven.compiler.source>
41         <maven.compiler.target>17</maven.compiler.target>
42
43         <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
44         <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
45         <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
46         <sitePath>/content/sites/site/org/onap/dmaap/datarouter/${project.artifactId}/${project.version}</sitePath>
47
48         <sonar.language>java</sonar.language>
49         <sonar.skip>false</sonar.skip>
50         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
51         <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
52         <sonar.projectVersion>${project.version}</sonar.projectVersion>
53
54         <docker.skip.build>false</docker.skip.build>
55         <docker.verbose>true</docker.verbose>
56         <docker.image.root>onap/dmaap/</docker.image.root>
57         <timestamp>${maven.build.timestamp}</timestamp>
58         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
59
60         <!--dependency version across all modules-->
61         <jetty.version>11.0.12</jetty.version>
62         <javax.mail-api.version>1.5.5</javax.mail-api.version>
63         <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
64         <qos.logback.version>1.2.7</qos.logback.version>
65         <qos.logback.classic.version>1.2.3</qos.logback.classic.version>
66         <commons-codec.version>1.15</commons-codec.version>
67         <gmaven-plugin.version>1.5</gmaven-plugin.version>
68         <io.fabric8.version>0.33.0</io.fabric8.version>
69         <docker.apiVersion>2.2.54</docker.apiVersion>
70         <commons-lang.version>2.4</commons-lang.version>
71         <commons-io.version>2.7</commons-io.version>
72         <httpcore.version>4.4</httpcore.version>
73         <httpclient.version>4.5.13</httpclient.version>
74         <junit-runner.version>0.11</junit-runner.version>
75         <junit.version>4.12</junit.version>
76         <mockito-core.version>3.3.3</mockito-core.version>
77         <byte-buddy-version>1.10.9</byte-buddy-version>
78         <powermock.version>2.0.7</powermock.version>
79         <commons-lang3.version>3.0</commons-lang3.version>
80         <eelf-core.version>1.0.0</eelf-core.version>
81         <json.version>20210307</json.version>
82         <sl4j-api.version>1.7.25</sl4j-api.version>
83         <hamcrest-lib.version>1.3</hamcrest-lib.version>
84         <annotations.version>12.0</annotations.version>
85     </properties>
86     <modules>
87         <module>datarouter-prov</module>
88         <module>datarouter-prov-client</module>
89         <module>datarouter-node</module>
90         <module>datarouter-subscriber</module>
91         <module>datarouter-docker-compose</module>
92     </modules>
93     <dependencyManagement>
94         <dependencies>
95             <dependency>
96                 <groupId>org.apache.commons</groupId>
97                 <artifactId>commons-lang3</artifactId>
98                 <version>${commons-lang3.version}</version>
99             </dependency>
100             <dependency>
101                 <groupId>com.att.eelf</groupId>
102                 <artifactId>eelf-core</artifactId>
103                 <version>${eelf-core.version}</version>
104             </dependency>
105             <dependency>
106                 <groupId>org.json</groupId>
107                 <artifactId>json</artifactId>
108                 <version>${json.version}</version>
109             </dependency>
110             <dependency>
111                 <groupId>org.slf4j</groupId>
112                 <artifactId>slf4j-api</artifactId>
113                 <version>${sl4j-api.version}</version>
114             </dependency>
115             <dependency>
116                 <groupId>commons-codec</groupId>
117                 <artifactId>commons-codec</artifactId>
118                 <version>${commons-codec.version}</version>
119             </dependency>
120             <dependency>
121                 <groupId>ch.qos.logback</groupId>
122                 <artifactId>logback-classic</artifactId>
123                 <version>${qos.logback.classic.version}</version>
124                 <scope>compile</scope>
125             </dependency>
126             <dependency>
127                 <groupId>ch.qos.logback</groupId>
128                 <artifactId>logback-core</artifactId>
129                 <version>${qos.logback.version}</version>
130                 <scope>compile</scope>
131             </dependency>
132             <dependency>
133                 <groupId>com.intellij</groupId>
134                 <artifactId>annotations</artifactId>
135                 <version>${annotations.version}</version>
136             </dependency>
137             <dependency>
138                 <groupId>javax.servlet</groupId>
139                 <artifactId>javax.servlet-api</artifactId>
140                 <version>${javax.servlet-api.version}</version>
141                 <scope>compile</scope>
142             </dependency>
143             <dependency>
144                 <groupId>javax.mail</groupId>
145                 <artifactId>javax.mail-api</artifactId>
146                 <version>${javax.mail-api.version}</version>
147             </dependency>
148             <dependency>
149                 <groupId>org.eclipse.jetty</groupId>
150                 <artifactId>jetty-server</artifactId>
151                 <version>${jetty.version}</version>
152             </dependency>
153             <dependency>
154                 <groupId>org.eclipse.jetty</groupId>
155                 <artifactId>jetty-continuation</artifactId>
156                 <version>9.4.49.v20220914</version>
157             </dependency>
158             <dependency>
159                 <groupId>org.eclipse.jetty</groupId>
160                 <artifactId>jetty-util</artifactId>
161                 <version>${jetty.version}</version>
162             </dependency>
163             <dependency>
164                 <groupId>org.eclipse.jetty</groupId>
165                 <artifactId>jetty-servlet</artifactId>
166                 <version>${jetty.version}</version>
167             </dependency>
168             <dependency>
169                 <groupId>org.eclipse.jetty</groupId>
170                 <artifactId>jetty-http</artifactId>
171                 <version>${jetty.version}</version>
172             </dependency>
173             <dependency>
174                 <groupId>org.eclipse.jetty</groupId>
175                 <artifactId>jetty-io</artifactId>
176                 <version>${jetty.version}</version>
177             </dependency>
178             <dependency>
179                 <groupId>org.eclipse.jetty.cdi</groupId>
180                 <artifactId>cdi-websocket</artifactId>
181                 <version>${jetty.version}</version>
182             </dependency>
183             <dependency>
184                 <groupId>commons-io</groupId>
185                 <artifactId>commons-io</artifactId>
186                 <version>${commons-io.version}</version>
187                 <scope>compile</scope>
188             </dependency>
189             <dependency>
190                 <groupId>org.apache.httpcomponents</groupId>
191                 <artifactId>httpcore</artifactId>
192                 <version>${httpcore.version}</version>
193             </dependency>
194             <dependency>
195                 <groupId>org.apache.httpcomponents</groupId>
196                 <artifactId>httpclient</artifactId>
197                 <version>${httpclient.version}</version>
198             </dependency>
199             <dependency>
200                 <groupId>org.sonatype.http-testing-harness</groupId>
201                 <artifactId>junit-runner</artifactId>
202                 <version>${junit-runner.version}</version>
203                 <scope>test</scope>
204                 <exclusions>
205                     <exclusion>
206                         <groupId>org.databene</groupId>
207                         <artifactId>contiperf</artifactId>
208                     </exclusion>
209                     <exclusion>
210                         <groupId>com.thoughtworks.xstream</groupId>
211                         <artifactId>xstream</artifactId>
212                     </exclusion>
213                 </exclusions>
214             </dependency>
215             <dependency>
216                 <groupId>junit</groupId>
217                 <artifactId>junit</artifactId>
218                 <version>${junit.version}</version>
219                 <scope>test</scope>
220             </dependency>
221             <dependency>
222                 <groupId>org.hamcrest</groupId>
223                 <artifactId>hamcrest-all</artifactId>
224                 <version>${hamcrest-lib.version}</version>
225                 <scope>test</scope>
226             </dependency>
227             <dependency>
228                 <groupId>org.mockito</groupId>
229                 <artifactId>mockito-core</artifactId>
230                 <version>${mockito-core.version}</version>
231                 <scope>test</scope>
232             </dependency>
233             <dependency>
234                 <groupId>net.bytebuddy</groupId>
235                 <artifactId>byte-buddy</artifactId>
236                 <version>${byte-buddy-version}</version>
237                 <scope>test</scope>
238             </dependency>
239             <dependency>
240                 <groupId>net.bytebuddy</groupId>
241                 <artifactId>byte-buddy-agent</artifactId>
242                 <version>${byte-buddy-version}</version>
243                 <scope>test</scope>
244             </dependency>
245             <dependency>
246                 <groupId>org.objenesis</groupId>
247                 <artifactId>objenesis</artifactId>
248                 <version>3.1</version>
249                 <scope>test</scope>
250             </dependency>
251             <dependency>
252                 <groupId>org.javassist</groupId>
253                 <artifactId>javassist</artifactId>
254                 <version>3.27.0-GA</version>
255                 <scope>test</scope>
256             </dependency>
257             <dependency>
258                 <groupId>org.powermock</groupId>
259                 <artifactId>powermock-api-mockito2</artifactId>
260                 <version>${powermock.version}</version>
261             </dependency>
262             <dependency>
263                 <groupId>org.powermock</groupId>
264                 <artifactId>powermock-module-junit4</artifactId>
265                 <version>${powermock.version}</version>
266                 <scope>test</scope>
267             </dependency>
268             <dependency>
269                 <groupId>org.powermock</groupId>
270                 <artifactId>powermock-api-support</artifactId>
271                 <version>${powermock.version}</version>
272                 <scope>test</scope>
273             </dependency>
274             <dependency>
275                 <groupId>org.powermock</groupId>
276                 <artifactId>powermock-core</artifactId>
277                 <version>${powermock.version}</version>
278                 <scope>test</scope>
279             </dependency>
280             <dependency>
281                 <groupId>org.powermock</groupId>
282                 <artifactId>powermock-module-junit4-rule</artifactId>
283                 <version>${powermock.version}</version>
284                 <scope>test</scope>
285             </dependency>
286         </dependencies>
287     </dependencyManagement>
288     <build>
289         <plugins>
290             <plugin>
291                 <groupId>org.apache.maven.plugins</groupId>
292                 <artifactId>maven-surefire-plugin</artifactId>
293                 <configuration>
294                     <excludes>
295                         <exclude>IntegrationSuite.java</exclude>
296                     </excludes>
297                     <argLine>
298                         --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
299                         --add-opens=java.base/sun.security.util=ALL-UNNAMED
300                         --add-opens=java.base/sun.security.jca=ALL-UNNAMED
301                         --add-opens=java.base/java.util.regex=ALL-UNNAMED
302                         --add-opens=java.base/java.nio.file=ALL-UNNAMED
303                         --add-opens java.base/java.lang=ALL-UNNAMED
304                         --add-opens=java.base/java.util=ALL-UNNAMED
305                         --add-opens=java.base/java.text=ALL-UNNAMED
306                         --add-opens=java.base/java.net=ALL-UNNAMED
307                         --add-opens=java.base/java.nio=ALL-UNNAMED
308                         --add-opens=java.base/java.io=ALL-UNNAMED
309                     </argLine>
310                 </configuration>
311             </plugin>
312             <plugin>
313                 <groupId>org.apache.maven.plugins</groupId>
314                 <artifactId>maven-failsafe-plugin</artifactId>
315                 <configuration>
316                     <argLine>
317                         --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
318                         --add-opens=java.base/sun.security.util=ALL-UNNAMED
319                         --add-opens=java.base/sun.security.jca=ALL-UNNAMED
320                         --add-opens=java.base/java.util.regex=ALL-UNNAMED
321                         --add-opens=java.base/java.nio.file=ALL-UNNAMED
322                         --add-opens java.base/java.lang=ALL-UNNAMED
323                         --add-opens=java.base/java.util=ALL-UNNAMED
324                         --add-opens=java.base/java.text=ALL-UNNAMED
325                         --add-opens=java.base/java.net=ALL-UNNAMED
326                         --add-opens=java.base/java.nio=ALL-UNNAMED
327                         --add-opens=java.base/java.io=ALL-UNNAMED
328                     </argLine>
329                 </configuration>
330             </plugin>
331             <plugin>
332                 <groupId>org.codehaus.mojo</groupId>
333                 <artifactId>flatten-maven-plugin</artifactId>
334                 <version>1.0.1</version>
335                 <configuration>
336                     <updatePomFile>true</updatePomFile>
337                     <outputDirectory>target</outputDirectory>
338                 </configuration>
339                 <executions>
340                     <execution>
341                         <id>flatten</id>
342                         <phase>process-resources</phase>
343                         <goals>
344                             <goal>flatten</goal>
345                         </goals>
346                     </execution>
347                 </executions>
348             </plugin>
349             <plugin>
350                 <artifactId>maven-checkstyle-plugin</artifactId>
351                 <executions>
352                     <execution>
353                         <id>onap-java-style</id>
354                         <configuration>
355                             <consoleOutput>false</consoleOutput>
356                         </configuration>
357                     </execution>
358                 </executions>
359             </plugin>
360         </plugins>
361         <pluginManagement>
362             <plugins>
363                 <plugin>
364                     <groupId>org.apache.maven.plugins</groupId>
365                     <artifactId>maven-compiler-plugin</artifactId>
366                     <configuration>
367                         <source>${maven.compiler.source}</source>
368                         <target>${maven.compiler.target}</target>
369                     </configuration>
370                 </plugin>
371                 <plugin>
372                     <groupId>org.apache.maven.plugins</groupId>
373                     <artifactId>maven-dependency-plugin</artifactId>
374                     <version>2.10</version>
375                     <executions>
376                         <execution>
377                             <id>copy-dependencies</id>
378                             <goals>
379                                 <goal>copy-dependencies</goal>
380                             </goals>
381                             <configuration>
382                                 <overWriteReleases>false</overWriteReleases>
383                                 <overWriteSnapshots>false</overWriteSnapshots>
384                                 <overWriteIfNewer>true</overWriteIfNewer>
385                             </configuration>
386                         </execution>
387                     </executions>
388                 </plugin>
389                 <plugin>
390                     <groupId>org.apache.maven.plugins</groupId>
391                     <artifactId>maven-javadoc-plugin</artifactId>
392                     <version>3.3.1</version>
393                     <configuration>
394                         <failOnError>false</failOnError>
395                     </configuration>
396                     <executions>
397                         <execution>
398                             <id>attach-javadocs</id>
399                             <goals>
400                                 <goal>jar</goal>
401                             </goals>
402                         </execution>
403                     </executions>
404                 </plugin>
405                 <plugin>
406                     <groupId>org.apache.maven.plugins</groupId>
407                     <artifactId>maven-source-plugin</artifactId>
408                     <version>2.2.1</version>
409                     <executions>
410                         <execution>
411                             <id>attach-sources</id>
412                             <goals>
413                                 <goal>jar-no-fork</goal>
414                             </goals>
415                         </execution>
416                     </executions>
417                 </plugin>
418                 <plugin>
419                     <groupId>org.codehaus.mojo</groupId>
420                     <artifactId>cobertura-maven-plugin</artifactId>
421                     <version>2.7</version>
422                     <configuration>
423                         <formats>
424                             <format>html</format>
425                             <format>xml</format>
426                         </formats>
427                         <check/>
428                     </configuration>
429                 </plugin>
430                 <plugin>
431                     <groupId>org.codehaus.gmaven</groupId>
432                     <artifactId>gmaven-plugin</artifactId>
433                     <version>${gmaven-plugin.version}</version>
434                     <executions>
435                         <execution>
436                             <phase>validate</phase>
437                             <goals>
438                                 <goal>execute</goal>
439                             </goals>
440                             <configuration>
441                                 <properties>
442                                     <ver>${project.version}</ver>
443                                 </properties>
444                                 <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging -->
445                                 <source>
446                                     println 'ver: ' + project.properties['ver'];
447                                     if ( project.properties['ver'].endsWith("-SNAPSHOT") ) {
448                                         project.properties['dockertag1']=project.properties['ver'] + "-latest";
449                                         project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp'];
450                                     } else {
451                                         project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest";
452                                         project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp'];
453                                     }
454                                     println 'docker tag 1: ' + project.properties['dockertag1'];
455                                     println 'docker tag 2: ' + project.properties['dockertag2'];
456                                 </source>
457                             </configuration>
458                         </execution>
459                     </executions>
460                 </plugin>
461                 <plugin>
462                     <groupId>io.fabric8</groupId>
463                     <artifactId>docker-maven-plugin</artifactId>
464                     <version>${io.fabric8.version}</version>
465                     <extensions>true</extensions>
466                     <configuration>
467                         <skipBuild>${docker.skip.build}</skipBuild>
468                         <verbose>${docker.verbose}</verbose>
469                         <apiVersion>${docker.apiVersion}</apiVersion>
470                         <pullRegistry>${docker.pull.registry}</pullRegistry>
471                         <pushRegistry>${docker.push.registry}</pushRegistry>
472                     </configuration>
473                 </plugin>
474                 <plugin>
475                     <groupId>org.codehaus.mojo</groupId>
476                     <artifactId>properties-maven-plugin</artifactId>
477                     <version>1.0.0</version>
478                     <executions>
479                         <execution>
480                             <phase>validate</phase>
481                             <goals>
482                                 <goal>read-project-properties</goal>
483                             </goals>
484                             <configuration>
485                                 <files>
486                                     <file>../version.properties</file>
487                                 </files>
488                             </configuration>
489                         </execution>
490                     </executions>
491                 </plugin>
492             </plugins>
493         </pluginManagement>
494     </build>
495     <pluginRepositories>
496         <pluginRepository>
497             <id>onap-plugin-snapshots</id>
498             <url>${onap.nexus.url}${snapshotNexusPath}</url>
499         </pluginRepository>
500     </pluginRepositories>
501 </project>