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