Merge "Fix Sonar bugs"
[dmaap/datarouter.git] / datarouter-node / pom.xml
1 <!--
2   ============LICENSE_START==================================================
3   * org.onap.dmaap
4   * ===========================================================================
5   * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6   * ===========================================================================
7   * Licensed under the Apache License, Version 2.0 (the "License");
8   * you may not use this file except in compliance with the License.
9   * You may obtain a copy of the License at
10   *
11    *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13    * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * ============LICENSE_END====================================================
19   *
20   * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21   *
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     <parent>
26         <groupId>org.onap.dmaap.datarouter</groupId>
27         <artifactId>parent</artifactId>
28         <version>1.0.2-SNAPSHOT</version>
29         <relativePath>../pom.xml</relativePath>
30     </parent>
31     <artifactId>datarouter-node</artifactId>
32     <packaging>jar</packaging>
33     <name>datarouter-node</name>
34     <url>https://github.com/att/DMAAP_DATAROUTER</url>
35     <properties>
36         <sonar.skip>false</sonar.skip>
37         <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
38         <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
39         <docker.location>${basedir}/target/${artifactId}</docker.location>
40         <datarouter.node.image.name>onap/dmaap/datarouter-node</datarouter.node.image.name>
41     </properties>
42     <dependencies>
43         <dependency>
44             <groupId>com.google.guava</groupId>
45             <artifactId>guava</artifactId>
46             <version>${google.guava.version}</version>
47         </dependency>
48         <dependency>
49             <groupId>commons-codec</groupId>
50             <artifactId>commons-codec</artifactId>
51             <version>${commons-codec.version}</version>
52         </dependency>
53         <dependency>
54             <groupId>junit</groupId>
55             <artifactId>junit</artifactId>
56             <version>4.10</version>
57             <scope>test</scope>
58         </dependency>
59         <dependency>
60             <groupId>org.json</groupId>
61             <artifactId>json</artifactId>
62             <version>20160810</version>
63         </dependency>
64         <dependency>
65             <groupId>javax.mail</groupId>
66             <artifactId>javax.mail-api</artifactId>
67             <version>${javax.mail-api.version}</version>
68         </dependency>
69         <dependency>
70             <groupId>com.att.eelf</groupId>
71             <artifactId>eelf-core</artifactId>
72             <version>0.0.1</version>
73         </dependency>
74         <dependency>
75             <groupId>com.thoughtworks.xstream</groupId>
76             <artifactId>xstream</artifactId>
77             <version>${thoughtworks.version}</version>
78         </dependency>
79         <dependency>
80             <groupId>ch.qos.logback</groupId>
81             <artifactId>logback-classic</artifactId>
82             <version>${qos.logback.version}</version>
83             <scope>compile</scope>
84         </dependency>
85         <dependency>
86             <groupId>ch.qos.logback</groupId>
87             <artifactId>logback-core</artifactId>
88             <version>${qos.logback.version}</version>
89             <scope>compile</scope>
90         </dependency>
91         <dependency>
92             <groupId>org.eclipse.jetty</groupId>
93             <artifactId>jetty-server</artifactId>
94             <version>${jetty.version}</version>
95         </dependency>
96         <dependency>
97             <groupId>org.eclipse.jetty</groupId>
98             <artifactId>jetty-continuation</artifactId>
99             <version>${jetty.version}</version>
100         </dependency>
101         <dependency>
102             <groupId>org.eclipse.jetty</groupId>
103             <artifactId>jetty-util</artifactId>
104             <version>${jetty.version}</version>
105         </dependency>
106         <dependency>
107             <groupId>org.eclipse.jetty</groupId>
108             <artifactId>jetty-deploy</artifactId>
109             <version>${jetty.version}</version>
110         </dependency>
111         <dependency>
112             <groupId>org.eclipse.jetty</groupId>
113             <artifactId>jetty-servlet</artifactId>
114             <version>${jetty.version}</version>
115         </dependency>
116         <dependency>
117             <groupId>org.eclipse.jetty</groupId>
118             <artifactId>jetty-servlets</artifactId>
119             <version>${jetty.version}</version>
120         </dependency>
121         <dependency>
122             <groupId>org.eclipse.jetty</groupId>
123             <artifactId>jetty-http</artifactId>
124             <version>${jetty.version}</version>
125         </dependency>
126         <dependency>
127             <groupId>org.eclipse.jetty</groupId>
128             <artifactId>jetty-security</artifactId>
129             <version>${jetty.version}</version>
130         </dependency>
131         <dependency>
132             <groupId>org.eclipse.jetty</groupId>
133             <artifactId>jetty-websocket</artifactId>
134             <version>${jetty.websocket.version}</version>
135         </dependency>
136         <dependency>
137             <groupId>org.eclipse.jetty</groupId>
138             <artifactId>jetty-io</artifactId>
139             <version>${jetty.version}</version>
140         </dependency>
141         <dependency>
142             <groupId>org.apache.commons</groupId>
143             <artifactId>commons-io</artifactId>
144             <version>1.3.2</version>
145         </dependency>
146         <dependency>
147             <groupId>commons-lang</groupId>
148             <artifactId>commons-lang</artifactId>
149             <version>2.4</version>
150         </dependency>
151         <dependency>
152             <groupId>commons-io</groupId>
153             <artifactId>commons-io</artifactId>
154             <version>2.1</version>
155             <scope>compile</scope>
156         </dependency>
157         <dependency>
158             <groupId>org.apache.httpcomponents</groupId>
159             <artifactId>httpcore</artifactId>
160             <version>4.4</version>
161         </dependency>
162         <dependency>
163             <groupId>org.mozilla</groupId>
164             <artifactId>rhino</artifactId>
165             <version>1.7R3</version>
166         </dependency>
167         <dependency>
168             <groupId>org.apache.james</groupId>
169             <artifactId>apache-mime4j-core</artifactId>
170             <version>0.7</version>
171         </dependency>
172         <dependency>
173             <groupId>org.apache.httpcomponents</groupId>
174             <artifactId>httpclient</artifactId>
175             <version>4.5.3</version>
176         </dependency>
177         <dependency>
178             <groupId>org.sonatype.http-testing-harness</groupId>
179             <artifactId>junit-runner</artifactId>
180             <version>0.11</version>
181             <exclusions>
182                 <exclusion>
183                     <groupId>org.databene</groupId>
184                     <artifactId>contiperf</artifactId>
185                 </exclusion>
186             </exclusions>
187         </dependency>
188         <dependency>
189             <groupId>log4j</groupId>
190             <artifactId>log4j</artifactId>
191             <version>1.2.17</version>
192             <scope>compile</scope>
193         </dependency>
194         <dependency>
195             <groupId>junit</groupId>
196             <artifactId>junit</artifactId>
197             <version>4.10</version>
198             <scope>test</scope>
199         </dependency>
200         <dependency>
201             <groupId>org.mockito</groupId>
202             <artifactId>mockito-core</artifactId>
203             <version>1.10.19</version>
204             <scope>test</scope>
205         </dependency>
206         <dependency>
207             <groupId>org.powermock</groupId>
208             <artifactId>powermock-module-junit4</artifactId>
209             <version>1.6.4</version>
210             <scope>test</scope>
211         </dependency>
212         <dependency>
213             <groupId>org.powermock</groupId>
214             <artifactId>powermock-api-mockito</artifactId>
215             <version>1.6.4</version>
216             <scope>test</scope>
217         </dependency>
218         <dependency>
219             <groupId>org.apache.commons</groupId>
220             <artifactId>commons-lang3</artifactId>
221             <version>3.0</version>
222         </dependency>
223     </dependencies>
224     <profiles>
225         <profile>
226             <id>docker</id>
227             <properties>
228                 <skipDockerBuild>false</skipDockerBuild>
229                 <skipDockerTag>false</skipDockerTag>
230                 <skipTests>true</skipTests>
231             </properties>
232             <build>
233                 <plugins>
234                     <plugin>
235                         <groupId>com.spotify</groupId>
236                         <artifactId>docker-maven-plugin</artifactId>
237                         <version>1.0.0</version>
238                         <configuration>
239                             <imageName>${onap.nexus.dockerregistry.daily}/${datarouter.node.image.name}</imageName>
240                             <dockerDirectory>${docker.location}</dockerDirectory>
241                             <serverId>${onap.nexus.dockerregistry.daily}</serverId>
242                             <skipDockerBuild>false</skipDockerBuild>
243                             <imageTags>
244                                 <imageTag>${project.version}</imageTag>
245                                 <imageTag>latest</imageTag>
246                             </imageTags>
247                             <forceTags>true</forceTags>
248                             <resources>
249                                 <resource>
250                                     <targetPath>/</targetPath>
251                                     <directory>${project.basedir}</directory>
252                                     <excludes>
253                                         <exclude>target/**/*</exclude>
254                                         <exclude>pom.xml</exclude>
255                                     </excludes>
256                                 </resource>
257
258                                 <resource>
259                                     <targetPath>/</targetPath>
260                                     <directory>${project.build.directory}</directory>
261                                     <include>**/**</include>
262                                 </resource>
263                             </resources>
264                         </configuration>
265                     </plugin>
266                 </plugins>
267             </build>
268         </profile>
269     </profiles>
270
271     <build>
272         <finalName>datarouter-node</finalName>
273         <resources>
274             <resource>
275                 <directory>src/main/resources</directory>
276                 <filtering>true</filtering>
277                 <includes>
278                     <include>**/*.properties</include>
279                 </includes>
280             </resource>
281             <resource>
282                 <directory>src/main/resources</directory>
283                 <filtering>true</filtering>
284                 <includes>
285                     <include>**/EelfMessages.properties</include>
286                 </includes>
287             </resource>
288             <resource>
289                 <directory>src/main/resources</directory>
290                 <filtering>true</filtering>
291                 <includes>
292                     <include>**/log4j.properties</include>
293                 </includes>
294             </resource>
295         </resources>
296         <plugins>
297             <plugin>
298                 <groupId>org.apache.maven.plugins</groupId>
299                 <artifactId>maven-compiler-plugin</artifactId>
300                 <configuration>
301                     <source>1.8</source>
302                     <target>1.8</target>
303                 </configuration>
304                 <version>3.6.0</version>
305             </plugin>
306             <plugin>
307                 <artifactId>maven-assembly-plugin</artifactId>
308                 <version>2.4</version>
309                 <configuration>
310                     <descriptorRefs>
311                         <descriptorRef>jar-with-dependencies</descriptorRef>
312                     </descriptorRefs>
313                     <outputDirectory>${basedir}/target/opt/app/datartr/lib</outputDirectory>
314                     <archive>
315                         <manifest>
316                             <addClasspath>true</addClasspath>
317                             <mainClass>org.onap.dmaap.datarouter.node.NodeMain</mainClass>
318                         </manifest>
319                     </archive>
320                 </configuration>
321                 <executions>
322                     <execution>
323                         <id>make-assembly</id>
324                         <!-- this is used for inheritance merges -->
325                         <phase>package</phase>
326                         <!-- bind to the packaging phase -->
327                         <goals>
328                             <goal>single</goal>
329                         </goals>
330                     </execution>
331                 </executions>
332             </plugin>
333             <plugin>
334                 <groupId>org.apache.maven.plugins</groupId>
335                 <artifactId>maven-resources-plugin</artifactId>
336                 <version>2.7</version>
337                 <executions>
338                     <execution>
339                         <id>copy-docker-file</id>
340                         <phase>package</phase>
341                         <goals>
342                             <goal>copy-resources</goal>
343                         </goals>
344                         <configuration>
345                             <outputDirectory>${docker.location}</outputDirectory>
346                             <overwrite>true</overwrite>
347                             <resources>
348                                 <resource>
349                                     <directory>${basedir}/src/main/resources/docker</directory>
350                                     <filtering>true</filtering>
351                                     <includes>
352                                         <include>**/*</include>
353                                     </includes>
354                                 </resource>
355                             </resources>
356                         </configuration>
357                     </execution>
358                     <execution>
359                         <id>copy-resources</id>
360                         <phase>validate</phase>
361                         <goals>
362                             <goal>copy-resources</goal>
363                         </goals>
364                         <configuration>
365                             <outputDirectory>${basedir}/target/opt/app/datartr/etc</outputDirectory>
366                             <resources>
367                                 <resource>
368                                     <directory>${basedir}/src/main/resources</directory>
369                                     <includes>
370                                         <include>misc/**</include>
371                                         <include>**/**</include>
372                                     </includes>
373                                 </resource>
374                             </resources>
375                         </configuration>
376                     </execution>
377                     <execution>
378                         <id>copy-resources-1</id>
379                         <phase>validate</phase>
380                         <goals>
381                             <goal>copy-resources</goal>
382                         </goals>
383                         <configuration>
384                             <outputDirectory>${basedir}/target/opt/app/datartr/aaf_certs</outputDirectory>
385                             <resources>
386                                 <resource>
387                                     <directory>${basedir}/aaf_certs</directory>
388                                     <includes>
389                                         <include>misc/**</include>
390                                         <include>**/**</include>
391                                     </includes>
392                                 </resource>
393                             </resources>
394                         </configuration>
395                     </execution>
396                 </executions>
397             </plugin>
398             <plugin>
399                 <groupId>org.apache.maven.plugins</groupId>
400                 <artifactId>maven-dependency-plugin</artifactId>
401                 <version>2.10</version>
402                 <executions>
403                     <execution>
404                         <id>copy-dependencies</id>
405                         <phase>package</phase>
406                         <goals>
407                             <goal>copy-dependencies</goal>
408                         </goals>
409                         <configuration>
410                             <outputDirectory>${project.build.directory}/opt/app/datartr/lib</outputDirectory>
411                             <overWriteReleases>false</overWriteReleases>
412                             <overWriteSnapshots>false</overWriteSnapshots>
413                             <overWriteIfNewer>true</overWriteIfNewer>
414                         </configuration>
415                     </execution>
416                 </executions>
417             </plugin>
418             <plugin>
419                 <groupId>org.apache.maven.plugins</groupId>
420                 <artifactId>maven-javadoc-plugin</artifactId>
421                 <configuration>
422                     <failOnError>false</failOnError>
423                 </configuration>
424                 <executions>
425                     <execution>
426                         <id>attach-javadocs</id>
427                         <goals>
428                             <goal>jar</goal>
429                         </goals>
430                     </execution>
431                 </executions>
432             </plugin>
433             <plugin>
434                 <groupId>org.apache.maven.plugins</groupId>
435                 <artifactId>maven-source-plugin</artifactId>
436                 <version>2.2.1</version>
437                 <executions>
438                     <execution>
439                         <id>attach-sources</id>
440                         <goals>
441                             <goal>jar-no-fork</goal>
442                         </goals>
443                     </execution>
444                 </executions>
445             </plugin>
446             <plugin>
447                 <groupId>org.codehaus.mojo</groupId>
448                 <artifactId>cobertura-maven-plugin</artifactId>
449                 <version>2.7</version>
450                 <configuration>
451                     <formats>
452                         <format>html</format>
453                         <format>xml</format>
454                     </formats>
455                     <check/>
456                 </configuration>
457             </plugin>
458             <plugin>
459                 <groupId>org.sonatype.plugins</groupId>
460                 <artifactId>nexus-staging-maven-plugin</artifactId>
461                 <version>1.6.7</version>
462                 <extensions>true</extensions>
463                 <configuration>
464                     <nexusUrl>${onap.nexus.url}</nexusUrl>
465                     <stagingProfileId>176c31dfe190a</stagingProfileId>
466                     <serverId>ecomp-staging</serverId>
467                 </configuration>
468             </plugin>
469             <plugin>
470                 <groupId>org.jacoco</groupId>
471                 <artifactId>jacoco-maven-plugin</artifactId>
472                 <version>${jacoco.version}</version>
473                 <configuration>
474                     <excludes>
475                         <exclude>**/gen/**</exclude>
476                         <exclude>**/generated-sources/**</exclude>
477                         <exclude>**/yang-gen/**</exclude>
478                         <exclude>**/pax/**</exclude>
479                     </excludes>
480                 </configuration>
481                 <executions>
482                     <execution>
483                         <id>pre-unit-test</id>
484                         <goals>
485                             <goal>prepare-agent</goal>
486                         </goals>
487                         <configuration>
488                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
489                             <propertyName>surefireArgLine</propertyName>
490                         </configuration>
491                     </execution>
492                     <execution>
493                         <id>post-unit-test</id>
494                         <phase>test</phase>
495                         <goals>
496                             <goal>report</goal>
497                         </goals>
498                         <configuration>
499                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
500                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
501                         </configuration>
502                     </execution>
503                     <execution>
504                         <id>pre-integration-test</id>
505                         <phase>pre-integration-test</phase>
506                         <goals>
507                             <goal>prepare-agent</goal>
508                         </goals>
509                         <configuration>
510                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
511                             <propertyName>failsafeArgLine</propertyName>
512                         </configuration>
513                     </execution>
514                     <execution>
515                         <id>post-integration-test</id>
516                         <phase>post-integration-test</phase>
517                         <goals>
518                             <goal>report</goal>
519                         </goals>
520                         <configuration>
521                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
522                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
523                         </configuration>
524                     </execution>
525                 </executions>
526             </plugin>
527         </plugins>
528     </build>
529 </project>