Unify DMaaP Data Router image creation
[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>1.0.3-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>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         </dependency>\r
250     </dependencies>\r
251     <profiles>\r
252         <profile>\r
253             <id>docker</id>\r
254             <properties>\r
255                 <skipDockerBuild>false</skipDockerBuild>\r
256                 <skipDockerTag>false</skipDockerTag>\r
257                 <skipTests>true</skipTests>\r
258             </properties>\r
259             <build>\r
260                 <plugins>\r
261                     <plugin>\r
262                         <groupId>com.spotify</groupId>\r
263                         <artifactId>docker-maven-plugin</artifactId>\r
264                         <version>1.0.0</version>\r
265                         <configuration>\r
266                             <imageName>${onap.nexus.dockerregistry.daily}/${datarouter.prov.image.name}</imageName>\r
267                             <baseImage>java:8</baseImage>\r
268                             <serverId>${onap.nexus.dockerregistry.daily}</serverId>\r
269                             <skipDockerBuild>false</skipDockerBuild>\r
270                             <imageTags>\r
271                                 <imageTag>${project.version}</imageTag>\r
272                                 <imageTag>latest</imageTag>\r
273                             </imageTags>\r
274                             <forceTags>true</forceTags>\r
275                             <entryPoint>["/startup.sh", "start"]</entryPoint>\r
276                             <resources>\r
277                                 <resource>\r
278                                     <targetPath>/opt</targetPath>\r
279                                     <directory>${project.build.directory}/opt</directory>\r
280                                 </resource>\r
281                                 <resource>\r
282                                     <targetPath>/</targetPath>\r
283                                     <directory>${docker.location}</directory>\r
284                                     <include>startup.sh</include>\r
285                                 </resource>\r
286                             </resources>\r
287                             <runs>\r
288                                 <run>chmod 0700 /startup.sh</run>\r
289                             </runs>\r
290                             <exposes>\r
291                                 <expose>8080</expose>\r
292                                 <expose>8443</expose>\r
293                             </exposes>\r
294                         </configuration>\r
295                     </plugin>\r
296                 </plugins>\r
297             </build>\r
298         </profile>\r
299     </profiles>\r
300     <build>\r
301         <finalName>datarouter-prov</finalName>\r
302         <resources>\r
303             <resource>\r
304                 <directory>src/main/resources</directory>\r
305                 <filtering>true</filtering>\r
306                 <includes>\r
307                     <include>**/*.properties</include>\r
308                 </includes>\r
309             </resource>\r
310             <resource>\r
311                 <directory>src/main/resources</directory>\r
312                 <filtering>true</filtering>\r
313                 <includes>\r
314                     <include>**/provserver.properties</include>\r
315                 </includes>\r
316             </resource>\r
317             <resource>\r
318                 <directory>src/main/resources</directory>\r
319                 <filtering>true</filtering>\r
320                 <includes>\r
321                     <include>**/EelfMessages.properties</include>\r
322                 </includes>\r
323             </resource>\r
324             <resource>\r
325                 <directory>src/main/resources</directory>\r
326                 <filtering>true</filtering>\r
327                 <includes>\r
328                     <include>**/log4j.properties</include>\r
329                 </includes>\r
330             </resource>\r
331             <resource>\r
332                 <directory>src/test/resources</directory>\r
333                 <filtering>true</filtering>\r
334                 <includes>\r
335                     <include>**/log4j.properties</include>\r
336                 </includes>\r
337             </resource>\r
338         </resources>\r
339         <plugins>\r
340             <plugin>\r
341                 <artifactId>maven-assembly-plugin</artifactId>\r
342                 <version>2.4</version>\r
343                 <configuration>\r
344                     <descriptorRefs>\r
345                         <descriptorRef>jar-with-dependencies</descriptorRef>\r
346                     </descriptorRefs>\r
347                     <outputDirectory>${basedir}/target/opt/app/datartr/lib</outputDirectory>\r
348                     <archive>\r
349                         <manifest>\r
350                             <addClasspath>true</addClasspath>\r
351                             <mainClass>org.onap.dmaap.datarouter.provisioning.Main</mainClass>\r
352                         </manifest>\r
353                     </archive>\r
354                 </configuration>\r
355                 <executions>\r
356                     <execution>\r
357                         <id>make-assembly</id>\r
358                         <!-- this is used for inheritance merges -->\r
359                         <phase>package</phase>\r
360                         <!-- bind to the packaging phase -->\r
361                         <goals>\r
362                             <goal>single</goal>\r
363                         </goals>\r
364                     </execution>\r
365                 </executions>\r
366             </plugin>\r
367             <plugin>\r
368                 <groupId>org.apache.maven.plugins</groupId>\r
369                 <artifactId>maven-compiler-plugin</artifactId>\r
370                 <configuration>\r
371                     <source>1.8</source>\r
372                     <target>1.8</target>\r
373                 </configuration>\r
374                 <version>3.6.0</version>\r
375             </plugin>\r
376             <plugin>\r
377                 <artifactId>maven-resources-plugin</artifactId>\r
378                 <version>2.7</version>\r
379                 <executions>\r
380                     <execution>\r
381                         <id>copy-docker-file</id>\r
382                         <phase>package</phase>\r
383                         <goals>\r
384                             <goal>copy-resources</goal>\r
385                         </goals>\r
386                         <configuration>\r
387                             <outputDirectory>${docker.location}</outputDirectory>\r
388                             <overwrite>true</overwrite>\r
389                             <resources>\r
390                                 <resource>\r
391                                     <directory>${basedir}/src/main/resources/docker</directory>\r
392                                     <filtering>true</filtering>\r
393                                     <includes>\r
394                                         <include>**/*</include>\r
395                                     </includes>\r
396                                 </resource>\r
397                             </resources>\r
398                         </configuration>\r
399                     </execution>\r
400                     <execution>\r
401                         <id>copy-resources-1</id>\r
402                         <phase>validate</phase>\r
403                         <goals>\r
404                             <goal>copy-resources</goal>\r
405                         </goals>\r
406                         <configuration>\r
407                             <outputDirectory>${basedir}/target/opt/app/datartr/lib</outputDirectory>\r
408                             <resources>\r
409                                 <resource>\r
410                                     <directory>${project.basedir}/src/main/resources</directory>\r
411                                     <includes>\r
412                                         <include>**/*.jar</include>\r
413                                     </includes>\r
414                                 </resource>\r
415                             </resources>\r
416                         </configuration>\r
417                     </execution>\r
418                     <execution>\r
419                         <id>copy-resources-2</id>\r
420                         <phase>validate</phase>\r
421                         <goals>\r
422                             <goal>copy-resources</goal>\r
423                         </goals>\r
424                         <configuration>\r
425                             <outputDirectory>${basedir}/target/opt/app/datartr/etc</outputDirectory>\r
426                             <resources>\r
427                                 <resource>\r
428                                     <directory>${basedir}/src/main/resources</directory>\r
429                                     <includes>\r
430                                         <include>misc/**</include>\r
431                                         <include>**/**</include>\r
432                                     </includes>\r
433                                 </resource>\r
434                             </resources>\r
435                         </configuration>\r
436                     </execution>\r
437                     <execution>\r
438                         <id>copy-resources-3</id>\r
439                         <phase>validate</phase>\r
440                         <goals>\r
441                             <goal>copy-resources</goal>\r
442                         </goals>\r
443                         <configuration>\r
444                             <outputDirectory>${basedir}/target/opt/app/datartr</outputDirectory>\r
445                             <resources>\r
446                                 <resource>\r
447                                     <directory>${basedir}/data</directory>\r
448                                     <includes>\r
449                                         <include>misc/**</include>\r
450                                         <include>**/**</include>\r
451                                     </includes>\r
452                                 </resource>\r
453                             </resources>\r
454                         </configuration>\r
455                     </execution>\r
456                     <execution>\r
457                         <id>copy-resources-4</id>\r
458                         <phase>validate</phase>\r
459                         <goals>\r
460                             <goal>copy-resources</goal>\r
461                         </goals>\r
462                         <configuration>\r
463                             <outputDirectory>${basedir}/target/opt/app/datartr/aaf_certs</outputDirectory>\r
464                             <resources>\r
465                                 <resource>\r
466                                     <directory>${basedir}/aaf_certs</directory>\r
467                                     <includes>\r
468                                         <include>misc/**</include>\r
469                                         <include>**/**</include>\r
470                                     </includes>\r
471                                 </resource>\r
472                             </resources>\r
473                         </configuration>\r
474                     </execution>\r
475                 </executions>\r
476             </plugin>\r
477             <plugin>\r
478                 <groupId>org.apache.maven.plugins</groupId>\r
479                 <artifactId>maven-dependency-plugin</artifactId>\r
480                 <version>2.10</version>\r
481                 <executions>\r
482                     <execution>\r
483                         <id>copy-dependencies</id>\r
484                         <phase>package</phase>\r
485                         <goals>\r
486                             <goal>copy-dependencies</goal>\r
487                         </goals>\r
488                         <configuration>\r
489                             <outputDirectory>${project.build.directory}/opt/app/datartr/lib</outputDirectory>\r
490                             <overWriteReleases>false</overWriteReleases>\r
491                             <overWriteSnapshots>false</overWriteSnapshots>\r
492                             <overWriteIfNewer>true</overWriteIfNewer>\r
493                         </configuration>\r
494                     </execution>\r
495                 </executions>\r
496             </plugin>\r
497             <plugin>\r
498                 <groupId>org.apache.maven.plugins</groupId>\r
499                 <artifactId>maven-javadoc-plugin</artifactId>\r
500                 <configuration>\r
501                     <failOnError>false</failOnError>\r
502                 </configuration>\r
503                 <executions>\r
504                     <execution>\r
505                         <id>attach-javadocs</id>\r
506                         <goals>\r
507                             <goal>jar</goal>\r
508                         </goals>\r
509                     </execution>\r
510                 </executions>\r
511             </plugin>\r
512             <plugin>\r
513                 <groupId>org.apache.maven.plugins</groupId>\r
514                 <artifactId>maven-source-plugin</artifactId>\r
515                 <version>2.2.1</version>\r
516                 <executions>\r
517                     <execution>\r
518                         <id>attach-sources</id>\r
519                         <goals>\r
520                             <goal>jar-no-fork</goal>\r
521                         </goals>\r
522                     </execution>\r
523                 </executions>\r
524             </plugin>\r
525             <plugin>\r
526                 <groupId>org.codehaus.mojo</groupId>\r
527                 <artifactId>cobertura-maven-plugin</artifactId>\r
528                 <version>2.7</version>\r
529                 <configuration>\r
530                     <formats>\r
531                         <format>html</format>\r
532                         <format>xml</format>\r
533                     </formats>\r
534                     <check/>\r
535                 </configuration>\r
536             </plugin>\r
537             <plugin>\r
538                 <groupId>org.sonatype.plugins</groupId>\r
539                 <artifactId>nexus-staging-maven-plugin</artifactId>\r
540                 <version>1.6.7</version>\r
541                 <extensions>true</extensions>\r
542                 <configuration>\r
543                     <nexusUrl>${onap.nexus.url}</nexusUrl>\r
544                     <stagingProfileId>176c31dfe190a</stagingProfileId>\r
545                     <serverId>ecomp-staging</serverId>\r
546                 </configuration>\r
547             </plugin>\r
548             <plugin>\r
549                 <groupId>org.jacoco</groupId>\r
550                 <artifactId>jacoco-maven-plugin</artifactId>\r
551                 <version>${jacoco.version}</version>\r
552                 <configuration>\r
553                     <excludes>\r
554                         <exclude>**/gen/**</exclude>\r
555                         <exclude>**/generated-sources/**</exclude>\r
556                         <exclude>**/yang-gen/**</exclude>\r
557                         <exclude>**/pax/**</exclude>\r
558                     </excludes>\r
559                 </configuration>\r
560                 <executions>\r
561                     <execution>\r
562                         <id>pre-unit-test</id>\r
563                         <goals>\r
564                             <goal>prepare-agent</goal>\r
565                         </goals>\r
566                         <configuration>\r
567                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>\r
568                             <propertyName>surefireArgLine</propertyName>\r
569                         </configuration>\r
570                     </execution>\r
571                     <execution>\r
572                         <id>post-unit-test</id>\r
573                         <phase>test</phase>\r
574                         <goals>\r
575                             <goal>report</goal>\r
576                         </goals>\r
577                         <configuration>\r
578                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>\r
579                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>\r
580                         </configuration>\r
581                     </execution>\r
582                     <execution>\r
583                         <id>pre-integration-test</id>\r
584                         <phase>pre-integration-test</phase>\r
585                         <goals>\r
586                             <goal>prepare-agent</goal>\r
587                         </goals>\r
588                         <configuration>\r
589                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>\r
590                             <propertyName>failsafeArgLine</propertyName>\r
591                         </configuration>\r
592                     </execution>\r
593                     <execution>\r
594                         <id>post-integration-test</id>\r
595                         <phase>post-integration-test</phase>\r
596                         <goals>\r
597                             <goal>report</goal>\r
598                         </goals>\r
599                         <configuration>\r
600                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>\r
601                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>\r
602                         </configuration>\r
603                     </execution>\r
604                 </executions>\r
605             </plugin>\r
606         </plugins>\r
607     </build>\r
608 </project>\r