Adding docs for CADI
[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   * 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     <parent>
27         <groupId>org.onap.dmaap.datarouter</groupId>
28         <artifactId>parent</artifactId>
29         <version>2.1.0-SNAPSHOT</version>
30         <relativePath>../pom.xml</relativePath>
31     </parent>
32     <artifactId>datarouter-node</artifactId>
33     <packaging>jar</packaging>
34     <name>datarouter-node</name>
35     <url>https://github.com/att/DMAAP_DATAROUTER</url>
36     <properties>
37         <sonar.skip>false</sonar.skip>
38         <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
39         <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
40         <docker.location>${basedir}/target/${artifactId}</docker.location>
41
42         <timestamp>${maven.build.timestamp}</timestamp>
43         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
44
45         <datarouter.node.image.name>onap/dmaap/datarouter-node</datarouter.node.image.name>
46     </properties>
47     <dependencies>
48         <dependency>
49             <groupId>com.google.guava</groupId>
50             <artifactId>guava</artifactId>
51             <version>${google.guava.version}</version>
52         </dependency>
53         <dependency>
54             <groupId>commons-codec</groupId>
55             <artifactId>commons-codec</artifactId>
56             <version>${commons-codec.version}</version>
57         </dependency>
58         <dependency>
59             <groupId>junit</groupId>
60             <artifactId>junit</artifactId>
61             <version>4.10</version>
62             <scope>test</scope>
63         </dependency>
64         <dependency>
65             <groupId>org.json</groupId>
66             <artifactId>json</artifactId>
67             <version>20160810</version>
68         </dependency>
69         <dependency>
70             <groupId>javax.mail</groupId>
71             <artifactId>javax.mail-api</artifactId>
72             <version>${javax.mail-api.version}</version>
73         </dependency>
74         <dependency>
75             <groupId>com.att.eelf</groupId>
76             <artifactId>eelf-core</artifactId>
77             <version>0.0.1</version>
78         </dependency>
79         <dependency>
80             <groupId>com.thoughtworks.xstream</groupId>
81             <artifactId>xstream</artifactId>
82             <version>${thoughtworks.version}</version>
83         </dependency>
84         <dependency>
85             <groupId>ch.qos.logback</groupId>
86             <artifactId>logback-classic</artifactId>
87             <version>${qos.logback.version}</version>
88             <scope>compile</scope>
89         </dependency>
90         <dependency>
91             <groupId>ch.qos.logback</groupId>
92             <artifactId>logback-core</artifactId>
93             <version>${qos.logback.version}</version>
94             <scope>compile</scope>
95         </dependency>
96         <dependency>
97             <groupId>org.eclipse.jetty</groupId>
98             <artifactId>jetty-server</artifactId>
99             <version>${jetty.version}</version>
100         </dependency>
101         <dependency>
102             <groupId>org.eclipse.jetty</groupId>
103             <artifactId>jetty-continuation</artifactId>
104             <version>${jetty.version}</version>
105         </dependency>
106         <dependency>
107             <groupId>org.eclipse.jetty</groupId>
108             <artifactId>jetty-util</artifactId>
109             <version>${jetty.version}</version>
110         </dependency>
111         <dependency>
112             <groupId>org.eclipse.jetty</groupId>
113             <artifactId>jetty-deploy</artifactId>
114             <version>${jetty.version}</version>
115         </dependency>
116         <dependency>
117             <groupId>org.eclipse.jetty</groupId>
118             <artifactId>jetty-servlet</artifactId>
119             <version>${jetty.version}</version>
120         </dependency>
121         <dependency>
122             <groupId>org.eclipse.jetty</groupId>
123             <artifactId>jetty-servlets</artifactId>
124             <version>${jetty.version}</version>
125         </dependency>
126         <dependency>
127             <groupId>org.eclipse.jetty</groupId>
128             <artifactId>jetty-http</artifactId>
129             <version>${jetty.version}</version>
130         </dependency>
131         <dependency>
132             <groupId>org.eclipse.jetty</groupId>
133             <artifactId>jetty-security</artifactId>
134             <version>${jetty.version}</version>
135         </dependency>
136         <dependency>
137             <groupId>org.eclipse.jetty</groupId>
138             <artifactId>jetty-websocket</artifactId>
139             <version>${jetty.websocket.version}</version>
140         </dependency>
141         <dependency>
142             <groupId>org.eclipse.jetty</groupId>
143             <artifactId>jetty-io</artifactId>
144             <version>${jetty.version}</version>
145         </dependency>
146         <dependency>
147             <groupId>org.apache.commons</groupId>
148             <artifactId>commons-io</artifactId>
149             <version>1.3.2</version>
150         </dependency>
151         <dependency>
152             <groupId>commons-lang</groupId>
153             <artifactId>commons-lang</artifactId>
154             <version>2.4</version>
155         </dependency>
156         <dependency>
157             <groupId>commons-io</groupId>
158             <artifactId>commons-io</artifactId>
159             <version>2.1</version>
160             <scope>compile</scope>
161         </dependency>
162         <dependency>
163             <groupId>org.apache.httpcomponents</groupId>
164             <artifactId>httpcore</artifactId>
165             <version>4.4</version>
166         </dependency>
167         <dependency>
168             <groupId>org.mozilla</groupId>
169             <artifactId>rhino</artifactId>
170             <version>1.7R3</version>
171         </dependency>
172         <dependency>
173             <groupId>org.apache.james</groupId>
174             <artifactId>apache-mime4j-core</artifactId>
175             <version>0.7</version>
176         </dependency>
177         <dependency>
178             <groupId>org.apache.httpcomponents</groupId>
179             <artifactId>httpclient</artifactId>
180             <version>4.5.3</version>
181         </dependency>
182         <dependency>
183             <groupId>org.sonatype.http-testing-harness</groupId>
184             <artifactId>junit-runner</artifactId>
185             <version>0.11</version>
186             <exclusions>
187                 <exclusion>
188                     <groupId>org.databene</groupId>
189                     <artifactId>contiperf</artifactId>
190                 </exclusion>
191             </exclusions>
192         </dependency>
193         <dependency>
194             <groupId>log4j</groupId>
195             <artifactId>log4j</artifactId>
196             <version>1.2.17</version>
197             <scope>compile</scope>
198         </dependency>
199         <dependency>
200             <groupId>org.mockito</groupId>
201             <artifactId>mockito-core</artifactId>
202             <version>1.10.19</version>
203             <scope>test</scope>
204         </dependency>
205         <dependency>
206             <groupId>org.powermock</groupId>
207             <artifactId>powermock-module-junit4</artifactId>
208             <version>1.6.4</version>
209             <scope>test</scope>
210         </dependency>
211         <dependency>
212             <groupId>org.powermock</groupId>
213             <artifactId>powermock-api-mockito</artifactId>
214             <version>1.6.4</version>
215             <scope>test</scope>
216         </dependency>
217         <dependency>
218             <groupId>org.apache.commons</groupId>
219             <artifactId>commons-lang3</artifactId>
220             <version>3.0</version>
221         </dependency>
222         <dependency>
223             <groupId>org.onap.aaf.authz</groupId>
224             <artifactId>aaf-cadi-aaf</artifactId>
225             <version>${aaf-cadi-aaf.version}</version>
226         </dependency>
227     </dependencies>
228     <profiles>
229         <profile>
230             <id>docker</id>
231             <properties>
232                 <skipDockerBuild>false</skipDockerBuild>
233                 <skipDockerTag>false</skipDockerTag>
234                 <skipTests>true</skipTests>
235             </properties>
236             <build>
237                 <plugins>
238
239                     <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging -->
240                     <plugin>
241                       <groupId>org.codehaus.groovy.maven</groupId>
242                       <artifactId>gmaven-plugin</artifactId>
243                       <executions>
244                           <execution>
245                               <phase>validate</phase>
246                               <goals>
247                                   <goal>execute</goal>
248                               </goals>
249                               <configuration>
250                                   <properties>
251                                       <ver>${project.version}</ver>
252                                       <timestamp>${maven.build.timestamp}</timestamp>
253                                   </properties>
254                                   <source>
255                                       println 'ver: ' + project.properties['ver'];
256                                       if ( project.properties['ver'].endsWith("-SNAPSHOT") ) {
257                                           project.properties['dockertag1']=project.properties['ver'] + "-latest";
258                                           project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp'];
259                                       } else {
260                                           project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest";
261                                           project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp'];
262                                       }
263                                       println 'docker tag 1: ' + project.properties['dockertag1'];
264                                       println 'docker tag 2: ' + project.properties['dockertag2'];
265                                   </source>
266                               </configuration>
267                           </execution>
268                       </executions>
269                     </plugin>
270                     <plugin>
271                         <groupId>io.fabric8</groupId>
272                         <artifactId>docker-maven-plugin</artifactId>
273                         <version>0.28.0</version>
274                         <configuration>
275                             <verbose>${docker.verbose}</verbose>
276                             <apiVersion>${docker.apiVersion}</apiVersion>
277                             <pullRegistry>${docker.pull.registry}</pullRegistry>
278                             <pushRegistry>${docker.push.registry}</pushRegistry>
279                             <images>
280                                 <image>
281                                     <name>${datarouter.node.image.name}</name>
282                                     <build>
283                                         <cleanup>try</cleanup>
284                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
285                                         <dockerFile>Dockerfile</dockerFile>
286                                         <tags>
287                                             <tag>${dockertag1}</tag>
288                                             <tag>${dockertag2}</tag>
289                                         </tags>
290                                     </build>
291                                 </image>
292                             </images>
293                         </configuration>
294                          <executions>
295                              <execution>
296                                  <id>generate-images</id>
297                                  <phase>install</phase>
298                                  <goals>
299                                      <goal>build</goal>
300                                  </goals>
301                              </execution>
302                              <execution>
303                                  <id>push-images</id>
304                                  <phase>deploy</phase>
305                                  <goals>
306                                      <goal>push</goal>
307                                  </goals>
308                              </execution>
309                          </executions>
310                     </plugin>
311                 </plugins>
312             </build>
313         </profile>
314     </profiles>
315
316     <build>
317         <finalName>datarouter-node</finalName>
318         <resources>
319             <resource>
320                 <directory>src/main/resources</directory>
321                 <filtering>true</filtering>
322                 <includes>
323                     <include>**/*.properties</include>
324                 </includes>
325             </resource>
326             <resource>
327                 <directory>src/main/resources</directory>
328                 <filtering>true</filtering>
329                 <includes>
330                     <include>**/EelfMessages.properties</include>
331                 </includes>
332             </resource>
333             <resource>
334                 <directory>src/main/resources</directory>
335                 <filtering>true</filtering>
336                 <includes>
337                     <include>**/log4j.properties</include>
338                 </includes>
339             </resource>
340         </resources>
341         <plugins>
342             <plugin>
343                 <groupId>org.apache.maven.plugins</groupId>
344                 <artifactId>maven-compiler-plugin</artifactId>
345                 <configuration>
346                     <source>1.8</source>
347                     <target>1.8</target>
348                 </configuration>
349                 <version>3.6.0</version>
350             </plugin>
351             <plugin>
352                 <artifactId>maven-assembly-plugin</artifactId>
353                 <version>2.4</version>
354                 <configuration>
355                     <descriptorRefs>
356                         <descriptorRef>jar-with-dependencies</descriptorRef>
357                     </descriptorRefs>
358                     <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/lib</outputDirectory>
359                     <archive>
360                         <manifest>
361                             <addClasspath>true</addClasspath>
362                             <mainClass>org.onap.dmaap.datarouter.node.NodeMain</mainClass>
363                         </manifest>
364                     </archive>
365                 </configuration>
366                 <executions>
367                     <execution>
368                         <id>make-assembly</id>
369                         <!-- this is used for inheritance merges -->
370                         <phase>package</phase>
371                         <!-- bind to the packaging phase -->
372                         <goals>
373                             <goal>single</goal>
374                         </goals>
375                     </execution>
376                 </executions>
377             </plugin>
378             <plugin>
379                 <groupId>org.apache.maven.plugins</groupId>
380                 <artifactId>maven-resources-plugin</artifactId>
381                 <version>2.7</version>
382                 <executions>
383                     <execution>
384                         <id>copy-docker-file</id>
385                         <phase>validate</phase>
386                         <goals>
387                             <goal>copy-resources</goal>
388                         </goals>
389                         <configuration>
390                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
391                             <overwrite>true</overwrite>
392                             <resources>
393                                 <resource>
394                                     <directory>${basedir}/src/main/resources/docker</directory>
395                                     <filtering>true</filtering>
396                                     <includes>
397                                         <include>**/*</include>
398                                     </includes>
399                                 </resource>
400                             </resources>
401                         </configuration>
402                     </execution>
403                     <execution>
404                         <id>copy-startup-script</id>
405                         <phase>validate</phase>
406                         <goals>
407                             <goal>copy-resources</goal>
408                         </goals>
409                         <configuration>
410                             <outputDirectory>${basedir}/target/docker-stage/opt</outputDirectory>
411                             <overwrite>true</overwrite>
412                             <resources>
413                                 <resource>
414                                     <directory>${basedir}/src/main/resources/docker</directory>
415                                     <filtering>true</filtering>
416                                     <includes>
417                                         <include>startup.sh</include>
418                                     </includes>
419                                 </resource>
420                             </resources>
421                         </configuration>
422                     </execution>
423                     <execution>
424                         <id>copy-resources-2</id>
425                         <phase>validate</phase>
426                         <goals>
427                             <goal>copy-resources</goal>
428                         </goals>
429                         <configuration>
430                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/etc</outputDirectory>
431                             <resources>
432                                 <resource>
433                                     <directory>${basedir}/src/main/resources</directory>
434                                     <includes>
435                                         <include>misc/**</include>
436                                         <include>**/**</include>
437                                     </includes>
438                                 </resource>
439                             </resources>
440                         </configuration>
441                     </execution>
442                     <execution>
443                         <id>copy-resources-3</id>
444                         <phase>validate</phase>
445                         <goals>
446                             <goal>copy-resources</goal>
447                         </goals>
448                         <configuration>
449                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr</outputDirectory>
450                             <resources>
451                                 <resource>
452                                     <directory>${basedir}/data</directory>
453                                     <includes>
454                                         <include>misc/**</include>
455                                         <include>**/**</include>
456                                     </includes>
457                                 </resource>
458                             </resources>
459                         </configuration>
460                     </execution>
461                     <execution>
462                         <id>copy-resources-4</id>
463                         <phase>validate</phase>
464                         <goals>
465                             <goal>copy-resources</goal>
466                         </goals>
467                         <configuration>
468                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/aaf_certs</outputDirectory>
469                             <resources>
470                                 <resource>
471                                     <directory>${basedir}/aaf_certs</directory>
472                                     <includes>
473                                         <include>misc/**</include>
474                                         <include>**/**</include>
475                                     </includes>
476                                 </resource>
477                             </resources>
478                         </configuration>
479                     </execution>
480                 </executions>
481             </plugin>
482             <plugin>
483                 <groupId>org.apache.maven.plugins</groupId>
484                 <artifactId>maven-dependency-plugin</artifactId>
485                 <version>2.10</version>
486                 <executions>
487                     <execution>
488                         <id>copy-dependencies</id>
489                         <phase>package</phase>
490                         <goals>
491                             <goal>copy-dependencies</goal>
492                         </goals>
493                         <configuration>
494                             <outputDirectory>${project.build.directory}/docker-stage/opt/app/datartr/lib</outputDirectory>
495                             <overWriteReleases>false</overWriteReleases>
496                             <overWriteSnapshots>false</overWriteSnapshots>
497                             <overWriteIfNewer>true</overWriteIfNewer>
498                         </configuration>
499                     </execution>
500                 </executions>
501             </plugin>
502             <plugin>
503                 <groupId>org.apache.maven.plugins</groupId>
504                 <artifactId>maven-javadoc-plugin</artifactId>
505                 <configuration>
506                     <failOnError>false</failOnError>
507                 </configuration>
508                 <executions>
509                     <execution>
510                         <id>attach-javadocs</id>
511                         <goals>
512                             <goal>jar</goal>
513                         </goals>
514                     </execution>
515                 </executions>
516             </plugin>
517             <plugin>
518                 <groupId>org.apache.maven.plugins</groupId>
519                 <artifactId>maven-source-plugin</artifactId>
520                 <version>2.2.1</version>
521                 <executions>
522                     <execution>
523                         <id>attach-sources</id>
524                         <goals>
525                             <goal>jar-no-fork</goal>
526                         </goals>
527                     </execution>
528                 </executions>
529             </plugin>
530             <plugin>
531                 <groupId>org.codehaus.mojo</groupId>
532                 <artifactId>cobertura-maven-plugin</artifactId>
533                 <version>2.7</version>
534                 <configuration>
535                     <formats>
536                         <format>html</format>
537                         <format>xml</format>
538                     </formats>
539                     <check/>
540                 </configuration>
541             </plugin>
542             <plugin>
543                 <groupId>org.sonatype.plugins</groupId>
544                 <artifactId>nexus-staging-maven-plugin</artifactId>
545                 <version>1.6.7</version>
546                 <extensions>true</extensions>
547                 <configuration>
548                     <nexusUrl>${onap.nexus.url}</nexusUrl>
549                     <stagingProfileId>176c31dfe190a</stagingProfileId>
550                     <serverId>ecomp-staging</serverId>
551                 </configuration>
552             </plugin>
553             <plugin>
554                 <groupId>org.jacoco</groupId>
555                 <artifactId>jacoco-maven-plugin</artifactId>
556                 <version>${jacoco.version}</version>
557                 <configuration>
558                     <excludes>
559                         <exclude>**/gen/**</exclude>
560                         <exclude>**/generated-sources/**</exclude>
561                         <exclude>**/yang-gen/**</exclude>
562                         <exclude>**/pax/**</exclude>
563                     </excludes>
564                 </configuration>
565                 <executions>
566                     <execution>
567                         <id>pre-unit-test</id>
568                         <goals>
569                             <goal>prepare-agent</goal>
570                         </goals>
571                         <configuration>
572                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
573                             <propertyName>surefireArgLine</propertyName>
574                         </configuration>
575                     </execution>
576                     <execution>
577                         <id>post-unit-test</id>
578                         <phase>test</phase>
579                         <goals>
580                             <goal>report</goal>
581                         </goals>
582                         <configuration>
583                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
584                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
585                         </configuration>
586                     </execution>
587                     <execution>
588                         <id>pre-integration-test</id>
589                         <phase>pre-integration-test</phase>
590                         <goals>
591                             <goal>prepare-agent</goal>
592                         </goals>
593                         <configuration>
594                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
595                             <propertyName>failsafeArgLine</propertyName>
596                         </configuration>
597                     </execution>
598                     <execution>
599                         <id>post-integration-test</id>
600                         <phase>post-integration-test</phase>
601                         <goals>
602                             <goal>report</goal>
603                         </goals>
604                         <configuration>
605                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
606                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
607                         </configuration>
608                     </execution>
609                 </executions>
610             </plugin>
611         </plugins>
612     </build>
613 </project>