281cea7c62180dd8c47ae13c9f34525cdf5b541e
[dmaap/datarouter.git] / datarouter-prov / 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>${revision}</version>
30         <relativePath>../pom.xml</relativePath>
31     </parent>
32     <artifactId>datarouter-prov</artifactId>
33     <packaging>jar</packaging>
34     <url>https://docs.onap.org/en/latest/submodules/dmaap/datarouter.git/docs/index.html</url>
35     <properties>
36         <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
37         <docker.location>${basedir}/target/${project.artifactId}</docker.location>
38         <datarouter.prov.image.name>${docker.image.root}${project.artifactId}</datarouter.prov.image.name>
39         <sonar.exclusions>**/src/main/java/org/onap/dmaap/datarouter/reports/**</sonar.exclusions>
40         <sonar.language>java</sonar.language>
41         <sonar.skip>false</sonar.skip>
42     </properties>
43     <dependencies>
44         <dependency>
45             <groupId>org.hamcrest</groupId>
46             <artifactId>hamcrest-library</artifactId>
47         </dependency>
48         <dependency>
49             <groupId>org.slf4j</groupId>
50             <artifactId>slf4j-api</artifactId>
51         </dependency>
52         <dependency>
53             <groupId>commons-codec</groupId>
54             <artifactId>commons-codec</artifactId>
55         </dependency>
56         <dependency>
57             <groupId>ch.qos.logback</groupId>
58             <artifactId>logback-classic</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>ch.qos.logback</groupId>
62             <artifactId>logback-core</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>org.json</groupId>
66             <artifactId>json</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>com.intellij</groupId>
70             <artifactId>annotations</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>javax.servlet</groupId>
74             <artifactId>javax.servlet-api</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>javax.mail</groupId>
78             <artifactId>javax.mail-api</artifactId>
79         </dependency>
80         <dependency>
81             <groupId>com.att.eelf</groupId>
82             <artifactId>eelf-core</artifactId>
83         </dependency>
84         <dependency>
85             <groupId>org.onap.aaf.authz</groupId>
86             <artifactId>aaf-cadi-core</artifactId>
87         </dependency>
88         <dependency>
89             <groupId>org.eclipse.jetty</groupId>
90             <artifactId>jetty-server</artifactId>
91         </dependency>
92         <dependency>
93             <groupId>org.eclipse.jetty</groupId>
94             <artifactId>jetty-continuation</artifactId>
95         </dependency>
96         <dependency>
97             <groupId>org.eclipse.jetty</groupId>
98             <artifactId>jetty-util</artifactId>
99         </dependency>
100         <dependency>
101             <groupId>org.eclipse.jetty</groupId>
102             <artifactId>jetty-servlet</artifactId>
103         </dependency>
104         <dependency>
105             <groupId>org.eclipse.jetty</groupId>
106             <artifactId>jetty-http</artifactId>
107         </dependency>
108         <dependency>
109             <groupId>org.eclipse.jetty</groupId>
110             <artifactId>jetty-io</artifactId>
111         </dependency>
112         <dependency>
113             <groupId>commons-io</groupId>
114             <artifactId>commons-io</artifactId>
115         </dependency>
116         <dependency>
117             <groupId>org.apache.httpcomponents</groupId>
118             <artifactId>httpcore</artifactId>
119         </dependency>
120         <dependency>
121             <groupId>org.apache.httpcomponents</groupId>
122             <artifactId>httpclient</artifactId>
123         </dependency>
124         <dependency>
125             <groupId>org.sonatype.http-testing-harness</groupId>
126             <artifactId>junit-runner</artifactId>
127         </dependency>
128         <dependency>
129             <groupId>junit</groupId>
130             <artifactId>junit</artifactId>
131         </dependency>
132         <dependency>
133             <groupId>org.mockito</groupId>
134             <artifactId>mockito-core</artifactId>
135         </dependency>
136         <dependency>
137             <groupId>org.powermock</groupId>
138             <artifactId>powermock-module-junit4</artifactId>
139         </dependency>
140         <dependency>
141             <groupId>org.powermock</groupId>
142             <artifactId>powermock-api-mockito</artifactId>
143         </dependency>
144         <dependency>
145             <groupId>org.powermock</groupId>
146             <artifactId>powermock-api-support</artifactId>
147         </dependency>
148         <dependency>
149             <groupId>org.powermock</groupId>
150             <artifactId>powermock-core</artifactId>
151         </dependency>
152         <dependency>
153             <groupId>org.apache.commons</groupId>
154             <artifactId>commons-lang3</artifactId>
155         </dependency>
156         <dependency>
157             <groupId>org.mariadb.jdbc</groupId>
158             <artifactId>mariadb-java-client</artifactId>
159             <version>2.2.5</version>
160         </dependency>
161         <dependency>
162             <groupId>com.h2database</groupId>
163             <artifactId>h2</artifactId>
164             <version>1.4.197</version>
165         </dependency>
166         <dependency>
167             <groupId>org.hibernate</groupId>
168             <artifactId>hibernate-entitymanager</artifactId>
169             <version>5.4.1.Final</version>
170         </dependency>
171         <dependency>
172             <groupId>org.hamcrest</groupId>
173             <artifactId>hamcrest-core</artifactId>
174             <version>1.3</version>
175             <scope>test</scope>
176         </dependency>
177         <dependency>
178             <groupId>org.hibernate.javax.persistence</groupId>
179             <artifactId>hibernate-jpa-2.1-api</artifactId>
180             <version>1.0.2.Final</version>
181         </dependency>
182         <dependency>
183             <groupId>com.thoughtworks.xstream</groupId>
184             <artifactId>xstream</artifactId>
185         </dependency>
186     </dependencies>
187     <profiles>
188         <profile>
189             <id>docker</id>
190             <properties>
191                 <skipTests>true</skipTests>
192             </properties>
193             <build>
194                 <plugins>
195                     <plugin>
196                         <groupId>org.codehaus.gmaven</groupId>
197                         <artifactId>gmaven-plugin</artifactId>
198                     </plugin>
199                     <plugin>
200                         <groupId>io.fabric8</groupId>
201                         <artifactId>docker-maven-plugin</artifactId>
202                         <configuration>
203                             <images>
204                                 <image>
205                                     <name>${datarouter.prov.image.name}</name>
206                                     <build>
207                                         <cleanup>try</cleanup>
208                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
209                                         <dockerFile>Dockerfile</dockerFile>
210                                         <tags>
211                                             <tag>${dockertag1}</tag>
212                                             <tag>${dockertag2}</tag>
213                                         </tags>
214                                     </build>
215                                 </image>
216                             </images>
217                         </configuration>
218                         <executions>
219                             <execution>
220                                 <id>generate-images</id>
221                                 <phase>install</phase>
222                                 <goals>
223                                     <goal>build</goal>
224                                 </goals>
225                             </execution>
226                             <execution>
227                                 <id>push-images</id>
228                                 <phase>deploy</phase>
229                                 <goals>
230                                     <goal>push</goal>
231                                 </goals>
232                             </execution>
233                         </executions>
234                     </plugin>
235                 </plugins>
236             </build>
237         </profile>
238     </profiles>
239     <build>
240         <finalName>datarouter-prov</finalName>
241         <resources>
242             <resource>
243                 <directory>src/main/resources</directory>
244                 <filtering>true</filtering>
245                 <includes>
246                     <include>**/*.properties</include>
247                 </includes>
248             </resource>
249             <resource>
250                 <directory>src/main/resources</directory>
251                 <filtering>true</filtering>
252                 <includes>
253                     <include>**/provserver.properties</include>
254                 </includes>
255             </resource>
256             <resource>
257                 <directory>src/main/resources</directory>
258                 <filtering>true</filtering>
259                 <includes>
260                     <include>**/EelfMessages.properties</include>
261                 </includes>
262             </resource>
263         </resources>
264         <plugins>
265             <plugin>
266                 <artifactId>maven-assembly-plugin</artifactId>
267                 <version>2.4</version>
268                 <configuration>
269                     <descriptorRefs>
270                         <descriptorRef>jar-with-dependencies</descriptorRef>
271                     </descriptorRefs>
272                     <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/lib</outputDirectory>
273                     <archive>
274                         <manifest>
275                             <addClasspath>true</addClasspath>
276                             <mainClass>org.onap.dmaap.datarouter.provisioning.Main</mainClass>
277                         </manifest>
278                     </archive>
279                 </configuration>
280                 <executions>
281                     <execution>
282                         <id>make-assembly</id>
283                         <!-- this is used for inheritance merges -->
284                         <phase>package</phase>
285                         <!-- bind to the packaging phase -->
286                         <goals>
287                             <goal>single</goal>
288                         </goals>
289                     </execution>
290                 </executions>
291             </plugin>
292             <plugin>
293                 <groupId>org.apache.maven.plugins</groupId>
294                 <artifactId>maven-compiler-plugin</artifactId>
295             </plugin>
296             <!-- Copy files to docker-stage to be included in image -->
297             <plugin>
298                 <artifactId>maven-resources-plugin</artifactId>
299                 <version>2.7</version>
300                 <executions>
301                     <execution>
302                         <id>copy-dockerfile</id>
303                         <phase>validate</phase>
304                         <goals>
305                             <goal>copy-resources</goal>
306                         </goals>
307                         <configuration>
308                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
309                             <overwrite>true</overwrite>
310                             <resources>
311                                 <resource>
312                                     <directory>${basedir}/src/main/resources/docker</directory>
313                                     <filtering>true</filtering>
314                                     <includes>
315                                         <include>Dockerfile</include>
316                                     </includes>
317                                 </resource>
318                             </resources>
319                         </configuration>
320                     </execution>
321                     <execution>
322                         <id>copy-startup-script</id>
323                         <phase>validate</phase>
324                         <goals>
325                             <goal>copy-resources</goal>
326                         </goals>
327                         <configuration>
328                             <outputDirectory>${basedir}/target/docker-stage/opt</outputDirectory>
329                             <overwrite>true</overwrite>
330                             <resources>
331                                 <resource>
332                                     <directory>${basedir}/src/main/resources/docker</directory>
333                                     <filtering>true</filtering>
334                                     <includes>
335                                         <include>startup.sh</include>
336                                     </includes>
337                                 </resource>
338                             </resources>
339                         </configuration>
340                     </execution>
341                     <execution>
342                         <id>copy-resources-2</id>
343                         <phase>validate</phase>
344                         <goals>
345                             <goal>copy-resources</goal>
346                         </goals>
347                         <configuration>
348                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/etc</outputDirectory>
349                             <resources>
350                                 <resource>
351                                     <directory>${basedir}/src/main/resources</directory>
352                                     <includes>
353                                         <include>misc/**</include>
354                                         <include>**/**</include>
355                                     </includes>
356                                 </resource>
357                             </resources>
358                         </configuration>
359                     </execution>
360                     <execution>
361                         <id>copy-resources-3</id>
362                         <phase>validate</phase>
363                         <goals>
364                             <goal>copy-resources</goal>
365                         </goals>
366                         <configuration>
367                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr</outputDirectory>
368                             <resources>
369                                 <resource>
370                                     <directory>${basedir}/data</directory>
371                                     <includes>
372                                         <include>misc/**</include>
373                                         <include>**/**</include>
374                                     </includes>
375                                 </resource>
376                             </resources>
377                         </configuration>
378                     </execution>
379                     <execution>
380                         <id>copy-resources-4</id>
381                         <phase>validate</phase>
382                         <goals>
383                             <goal>copy-resources</goal>
384                         </goals>
385                         <configuration>
386                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/aaf_certs</outputDirectory>
387                             <resources>
388                                 <resource>
389                                     <directory>${basedir}/aaf_certs</directory>
390                                     <includes>
391                                         <include>misc/**</include>
392                                         <include>**/**</include>
393                                     </includes>
394                                 </resource>
395                             </resources>
396                         </configuration>
397                     </execution>
398                 </executions>
399             </plugin>
400             <plugin>
401                 <groupId>org.apache.maven.plugins</groupId>
402                 <artifactId>maven-dependency-plugin</artifactId>
403                 <executions>
404                     <execution>
405                         <id>copy-dependencies</id>
406                         <phase>package</phase>
407                         <configuration>
408                             <outputDirectory>${project.build.directory}/docker-stage/opt/app/datartr/lib</outputDirectory>
409                         </configuration>
410                     </execution>
411                 </executions>
412             </plugin>
413             <plugin>
414                 <groupId>org.apache.maven.plugins</groupId>
415                 <artifactId>maven-javadoc-plugin</artifactId>
416             </plugin>
417             <plugin>
418                 <groupId>org.apache.maven.plugins</groupId>
419                 <artifactId>maven-source-plugin</artifactId>
420             </plugin>
421             <plugin>
422                 <groupId>org.codehaus.mojo</groupId>
423                 <artifactId>cobertura-maven-plugin</artifactId>
424             </plugin>
425             <plugin>
426                 <groupId>org.sonatype.plugins</groupId>
427                 <artifactId>nexus-staging-maven-plugin</artifactId>
428             </plugin>
429             <plugin>
430                 <groupId>org.jacoco</groupId>
431                 <artifactId>jacoco-maven-plugin</artifactId>
432                 <configuration>
433                     <excludes>
434                         <exclude>**/src/main/java/org/onap/dmaap/datarouter/reports/**</exclude>
435                     </excludes>
436                 </configuration>
437             </plugin>
438             <plugin>
439                 <groupId>org.codehaus.mojo</groupId>
440                 <artifactId>properties-maven-plugin</artifactId>
441             </plugin>
442         </plugins>
443     </build>
444 </project>