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