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