[DMAAP-DR] - Release and staging tag fix
[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         <gmavenplus-plugin.version>3.0.0</gmavenplus-plugin.version>
68         <groovy.version>4.0.13</groovy.version>
69         <io.fabric8.version>0.33.0</io.fabric8.version>
70         <docker.apiVersion>2.2.54</docker.apiVersion>
71         <commons-lang.version>2.4</commons-lang.version>
72         <commons-io.version>2.7</commons-io.version>
73         <httpcore.version>4.4</httpcore.version>
74         <httpclient.version>4.5.13</httpclient.version>
75         <junit-runner.version>0.11</junit-runner.version>
76         <junit.version>4.12</junit.version>
77         <mockito-core.version>3.3.3</mockito-core.version>
78         <byte-buddy-version>1.10.9</byte-buddy-version>
79         <powermock.version>2.0.7</powermock.version>
80         <commons-lang3.version>3.0</commons-lang3.version>
81         <eelf-core.version>1.0.0</eelf-core.version>
82         <json.version>20210307</json.version>
83         <sl4j-api.version>1.7.25</sl4j-api.version>
84         <hamcrest-lib.version>1.3</hamcrest-lib.version>
85         <annotations.version>12.0</annotations.version>
86     </properties>
87     <modules>
88         <module>datarouter-prov</module>
89         <module>datarouter-prov-client</module>
90         <module>datarouter-node</module>
91         <module>datarouter-subscriber</module>
92         <module>datarouter-docker-compose</module>
93     </modules>
94     <dependencyManagement>
95         <dependencies>
96             <dependency>
97                 <groupId>org.apache.commons</groupId>
98                 <artifactId>commons-lang3</artifactId>
99                 <version>${commons-lang3.version}</version>
100             </dependency>
101             <dependency>
102                 <groupId>com.att.eelf</groupId>
103                 <artifactId>eelf-core</artifactId>
104                 <version>${eelf-core.version}</version>
105             </dependency>
106             <dependency>
107                 <groupId>org.json</groupId>
108                 <artifactId>json</artifactId>
109                 <version>${json.version}</version>
110             </dependency>
111             <dependency>
112                 <groupId>org.slf4j</groupId>
113                 <artifactId>slf4j-api</artifactId>
114                 <version>${sl4j-api.version}</version>
115             </dependency>
116             <dependency>
117                 <groupId>commons-codec</groupId>
118                 <artifactId>commons-codec</artifactId>
119                 <version>${commons-codec.version}</version>
120             </dependency>
121             <dependency>
122                 <groupId>ch.qos.logback</groupId>
123                 <artifactId>logback-classic</artifactId>
124                 <version>${qos.logback.classic.version}</version>
125                 <scope>compile</scope>
126             </dependency>
127             <dependency>
128                 <groupId>ch.qos.logback</groupId>
129                 <artifactId>logback-core</artifactId>
130                 <version>${qos.logback.version}</version>
131                 <scope>compile</scope>
132             </dependency>
133             <dependency>
134                 <groupId>com.intellij</groupId>
135                 <artifactId>annotations</artifactId>
136                 <version>${annotations.version}</version>
137             </dependency>
138             <dependency>
139                 <groupId>javax.servlet</groupId>
140                 <artifactId>javax.servlet-api</artifactId>
141                 <version>${javax.servlet-api.version}</version>
142                 <scope>compile</scope>
143             </dependency>
144             <dependency>
145                 <groupId>javax.mail</groupId>
146                 <artifactId>javax.mail-api</artifactId>
147                 <version>${javax.mail-api.version}</version>
148             </dependency>
149             <dependency>
150                 <groupId>org.eclipse.jetty</groupId>
151                 <artifactId>jetty-server</artifactId>
152                 <version>${jetty.version}</version>
153             </dependency>
154             <dependency>
155                 <groupId>org.eclipse.jetty</groupId>
156                 <artifactId>jetty-continuation</artifactId>
157                 <version>9.4.49.v20220914</version>
158             </dependency>
159             <dependency>
160                 <groupId>org.eclipse.jetty</groupId>
161                 <artifactId>jetty-util</artifactId>
162                 <version>${jetty.version}</version>
163             </dependency>
164             <dependency>
165                 <groupId>org.eclipse.jetty</groupId>
166                 <artifactId>jetty-servlet</artifactId>
167                 <version>${jetty.version}</version>
168             </dependency>
169             <dependency>
170                 <groupId>org.eclipse.jetty</groupId>
171                 <artifactId>jetty-http</artifactId>
172                 <version>${jetty.version}</version>
173             </dependency>
174             <dependency>
175                 <groupId>org.eclipse.jetty</groupId>
176                 <artifactId>jetty-io</artifactId>
177                 <version>${jetty.version}</version>
178             </dependency>
179             <dependency>
180                 <groupId>org.eclipse.jetty.cdi</groupId>
181                 <artifactId>cdi-websocket</artifactId>
182                 <version>${jetty.version}</version>
183             </dependency>
184             <dependency>
185                 <groupId>commons-io</groupId>
186                 <artifactId>commons-io</artifactId>
187                 <version>${commons-io.version}</version>
188                 <scope>compile</scope>
189             </dependency>
190             <dependency>
191                 <groupId>org.apache.httpcomponents</groupId>
192                 <artifactId>httpcore</artifactId>
193                 <version>${httpcore.version}</version>
194             </dependency>
195             <dependency>
196                 <groupId>org.apache.httpcomponents</groupId>
197                 <artifactId>httpclient</artifactId>
198                 <version>${httpclient.version}</version>
199             </dependency>
200             <dependency>
201                 <groupId>org.sonatype.http-testing-harness</groupId>
202                 <artifactId>junit-runner</artifactId>
203                 <version>${junit-runner.version}</version>
204                 <scope>test</scope>
205                 <exclusions>
206                     <exclusion>
207                         <groupId>org.databene</groupId>
208                         <artifactId>contiperf</artifactId>
209                     </exclusion>
210                     <exclusion>
211                         <groupId>com.thoughtworks.xstream</groupId>
212                         <artifactId>xstream</artifactId>
213                     </exclusion>
214                 </exclusions>
215             </dependency>
216             <dependency>
217                 <groupId>junit</groupId>
218                 <artifactId>junit</artifactId>
219                 <version>${junit.version}</version>
220                 <scope>test</scope>
221             </dependency>
222             <dependency>
223                 <groupId>org.hamcrest</groupId>
224                 <artifactId>hamcrest-all</artifactId>
225                 <version>${hamcrest-lib.version}</version>
226                 <scope>test</scope>
227             </dependency>
228             <dependency>
229                 <groupId>org.mockito</groupId>
230                 <artifactId>mockito-core</artifactId>
231                 <version>${mockito-core.version}</version>
232                 <scope>test</scope>
233             </dependency>
234             <dependency>
235                 <groupId>net.bytebuddy</groupId>
236                 <artifactId>byte-buddy</artifactId>
237                 <version>${byte-buddy-version}</version>
238                 <scope>test</scope>
239             </dependency>
240             <dependency>
241                 <groupId>net.bytebuddy</groupId>
242                 <artifactId>byte-buddy-agent</artifactId>
243                 <version>${byte-buddy-version}</version>
244                 <scope>test</scope>
245             </dependency>
246             <dependency>
247                 <groupId>org.objenesis</groupId>
248                 <artifactId>objenesis</artifactId>
249                 <version>3.1</version>
250                 <scope>test</scope>
251             </dependency>
252             <dependency>
253                 <groupId>org.javassist</groupId>
254                 <artifactId>javassist</artifactId>
255                 <version>3.27.0-GA</version>
256                 <scope>test</scope>
257             </dependency>
258             <dependency>
259                 <groupId>org.powermock</groupId>
260                 <artifactId>powermock-api-mockito2</artifactId>
261                 <version>${powermock.version}</version>
262             </dependency>
263             <dependency>
264                 <groupId>org.powermock</groupId>
265                 <artifactId>powermock-module-junit4</artifactId>
266                 <version>${powermock.version}</version>
267                 <scope>test</scope>
268             </dependency>
269             <dependency>
270                 <groupId>org.powermock</groupId>
271                 <artifactId>powermock-api-support</artifactId>
272                 <version>${powermock.version}</version>
273                 <scope>test</scope>
274             </dependency>
275             <dependency>
276                 <groupId>org.powermock</groupId>
277                 <artifactId>powermock-core</artifactId>
278                 <version>${powermock.version}</version>
279                 <scope>test</scope>
280             </dependency>
281             <dependency>
282                 <groupId>org.powermock</groupId>
283                 <artifactId>powermock-module-junit4-rule</artifactId>
284                 <version>${powermock.version}</version>
285                 <scope>test</scope>
286             </dependency>
287         </dependencies>
288     </dependencyManagement>
289     <build>
290         <plugins>
291             <plugin>
292                 <groupId>org.apache.maven.plugins</groupId>
293                 <artifactId>maven-surefire-plugin</artifactId>
294                 <configuration>
295                     <excludes>
296                         <exclude>IntegrationSuite.java</exclude>
297                     </excludes>
298                     <argLine>
299                         --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
300                         --add-opens=java.base/sun.security.util=ALL-UNNAMED
301                         --add-opens=java.base/sun.security.jca=ALL-UNNAMED
302                         --add-opens=java.base/java.util.regex=ALL-UNNAMED
303                         --add-opens=java.base/java.nio.file=ALL-UNNAMED
304                         --add-opens java.base/java.lang=ALL-UNNAMED
305                         --add-opens=java.base/java.util=ALL-UNNAMED
306                         --add-opens=java.base/java.text=ALL-UNNAMED
307                         --add-opens=java.base/java.net=ALL-UNNAMED
308                         --add-opens=java.base/java.nio=ALL-UNNAMED
309                         --add-opens=java.base/java.io=ALL-UNNAMED
310                     </argLine>
311                 </configuration>
312             </plugin>
313             <plugin>
314                 <groupId>org.apache.maven.plugins</groupId>
315                 <artifactId>maven-failsafe-plugin</artifactId>
316                 <configuration>
317                     <argLine>
318                         --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
319                         --add-opens=java.base/sun.security.util=ALL-UNNAMED
320                         --add-opens=java.base/sun.security.jca=ALL-UNNAMED
321                         --add-opens=java.base/java.util.regex=ALL-UNNAMED
322                         --add-opens=java.base/java.nio.file=ALL-UNNAMED
323                         --add-opens java.base/java.lang=ALL-UNNAMED
324                         --add-opens=java.base/java.util=ALL-UNNAMED
325                         --add-opens=java.base/java.text=ALL-UNNAMED
326                         --add-opens=java.base/java.net=ALL-UNNAMED
327                         --add-opens=java.base/java.nio=ALL-UNNAMED
328                         --add-opens=java.base/java.io=ALL-UNNAMED
329                     </argLine>
330                 </configuration>
331             </plugin>
332             <plugin>
333                 <groupId>org.codehaus.mojo</groupId>
334                 <artifactId>flatten-maven-plugin</artifactId>
335                 <version>1.0.1</version>
336                 <configuration>
337                     <updatePomFile>true</updatePomFile>
338                     <outputDirectory>target</outputDirectory>
339                 </configuration>
340                 <executions>
341                     <execution>
342                         <id>flatten</id>
343                         <phase>process-resources</phase>
344                         <goals>
345                             <goal>flatten</goal>
346                         </goals>
347                     </execution>
348                 </executions>
349             </plugin>
350             <plugin>
351                 <artifactId>maven-checkstyle-plugin</artifactId>
352                 <executions>
353                     <execution>
354                         <id>onap-java-style</id>
355                         <configuration>
356                             <consoleOutput>false</consoleOutput>
357                         </configuration>
358                     </execution>
359                 </executions>
360             </plugin>
361         </plugins>
362         <pluginManagement>
363             <plugins>
364                 <plugin>
365                     <groupId>org.apache.maven.plugins</groupId>
366                     <artifactId>maven-compiler-plugin</artifactId>
367                     <configuration>
368                         <source>${maven.compiler.source}</source>
369                         <target>${maven.compiler.target}</target>
370                     </configuration>
371                 </plugin>
372                 <plugin>
373                     <groupId>org.apache.maven.plugins</groupId>
374                     <artifactId>maven-dependency-plugin</artifactId>
375                     <version>2.10</version>
376                     <executions>
377                         <execution>
378                             <id>copy-dependencies</id>
379                             <goals>
380                                 <goal>copy-dependencies</goal>
381                             </goals>
382                             <configuration>
383                                 <overWriteReleases>false</overWriteReleases>
384                                 <overWriteSnapshots>false</overWriteSnapshots>
385                                 <overWriteIfNewer>true</overWriteIfNewer>
386                             </configuration>
387                         </execution>
388                     </executions>
389                 </plugin>
390                 <plugin>
391                     <groupId>org.apache.maven.plugins</groupId>
392                     <artifactId>maven-javadoc-plugin</artifactId>
393                     <version>3.3.1</version>
394                     <configuration>
395                         <failOnError>false</failOnError>
396                     </configuration>
397                     <executions>
398                         <execution>
399                             <id>attach-javadocs</id>
400                             <goals>
401                                 <goal>jar</goal>
402                             </goals>
403                         </execution>
404                     </executions>
405                 </plugin>
406                 <plugin>
407                     <groupId>org.apache.maven.plugins</groupId>
408                     <artifactId>maven-source-plugin</artifactId>
409                     <version>2.2.1</version>
410                     <executions>
411                         <execution>
412                             <id>attach-sources</id>
413                             <goals>
414                                 <goal>jar-no-fork</goal>
415                             </goals>
416                         </execution>
417                     </executions>
418                 </plugin>
419                 <plugin>
420                     <groupId>org.codehaus.mojo</groupId>
421                     <artifactId>cobertura-maven-plugin</artifactId>
422                     <version>2.7</version>
423                     <configuration>
424                         <formats>
425                             <format>html</format>
426                             <format>xml</format>
427                         </formats>
428                         <check/>
429                     </configuration>
430                 </plugin>
431                 <plugin>
432                     <groupId>org.codehaus.gmavenplus</groupId>
433                     <artifactId>gmavenplus-plugin</artifactId>
434                     <version>${gmavenplus-plugin.version}</version>
435                     <dependencies>
436                         <dependency>
437                             <groupId>org.apache.groovy</groupId>
438                             <artifactId>groovy-all</artifactId>
439                             <version>${groovy.version}</version>
440                             <type>pom</type>
441                         </dependency>
442                     </dependencies>
443                     <executions>
444                         <execution>
445                             <phase>validate</phase>
446                             <goals>
447                                 <goal>execute</goal>
448                             </goals>
449                             <configuration>
450                                 <properties>
451                                     <ver>${project.version}</ver>
452                                 </properties>
453                                 <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging -->
454                                 <scripts>
455                                     <script>
456                                         println 'ver: ' + project.properties['revision'];
457                                         if ( project.properties['revision'].endsWith("-SNAPSHOT") ) {
458                                             project.properties['dockertag1']=project.properties['revision'] + "-latest";
459                                             project.properties['dockertag2']=project.properties['revision'] + "-" + project.properties['timestamp'];
460                                         } else {
461                                             project.properties['dockertag1']=project.properties['revision'] + "-STAGING-latest";
462                                             project.properties['dockertag2']=project.properties['revision'] + "-STAGING-" + project.properties['timestamp'];
463                                         }
464                                         println 'docker tag 1: ' + project.properties['dockertag1'];
465                                         println 'docker tag 2: ' + project.properties['dockertag2'];
466                                     </script>
467                                 </scripts>
468                             </configuration>
469                         </execution>
470                     </executions>
471                 </plugin>
472                 <plugin>
473                     <groupId>io.fabric8</groupId>
474                     <artifactId>docker-maven-plugin</artifactId>
475                     <version>${io.fabric8.version}</version>
476                     <extensions>true</extensions>
477                     <configuration>
478                         <skipBuild>${docker.skip.build}</skipBuild>
479                         <verbose>${docker.verbose}</verbose>
480                         <apiVersion>${docker.apiVersion}</apiVersion>
481                         <pullRegistry>${docker.pull.registry}</pullRegistry>
482                         <pushRegistry>${docker.push.registry}</pushRegistry>
483                     </configuration>
484                 </plugin>
485                 <plugin>
486                     <groupId>org.codehaus.mojo</groupId>
487                     <artifactId>properties-maven-plugin</artifactId>
488                     <version>1.0.0</version>
489                     <executions>
490                         <execution>
491                             <phase>validate</phase>
492                             <goals>
493                                 <goal>read-project-properties</goal>
494                             </goals>
495                             <configuration>
496                                 <files>
497                                     <file>../version.properties</file>
498                                 </files>
499                             </configuration>
500                         </execution>
501                     </executions>
502                 </plugin>
503             </plugins>
504         </pluginManagement>
505     </build>
506     <pluginRepositories>
507         <pluginRepository>
508             <id>onap-plugin-snapshots</id>
509             <url>${onap.nexus.url}${snapshotNexusPath}</url>
510         </pluginRepository>
511     </pluginRepositories>
512 </project>