Migrate to Spring Boot
[aai/gizmo.git] / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 org.onap.aai
4 ================================================================================
5 Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 Copyright © 2017-2018 Amdocs
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
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <parent>
27         <groupId>org.onap.oparent</groupId>
28         <artifactId>oparent</artifactId>
29         <version>1.1.0</version>
30         <relativePath />
31     </parent>
32
33     <groupId>org.onap.aai.gizmo</groupId>
34     <artifactId>gizmo</artifactId>
35     <version>1.2.0-SNAPSHOT</version>
36     <name>aai-gizmo</name>
37
38
39     <properties>
40         <docker.location>${basedir}/target</docker.location>
41         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
42
43         <testRouteOffer>workstation</testRouteOffer>
44         <testEnv>DEV</testEnv>
45
46         <sonar.language>java</sonar.language>
47         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
48         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
49         <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
50         <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
51         <sonar.projectVersion>${project.version}</sonar.projectVersion>
52         <version.org.hamcrest.hamcrest-library>1.3</version.org.hamcrest.hamcrest-library>
53     </properties>
54
55     <dependencyManagement>
56         <dependencies>
57             <dependency>
58                 <!-- Import dependency management from Spring Boot -->
59                 <groupId>org.springframework.boot</groupId>
60                 <artifactId>spring-boot-dependencies</artifactId>
61                 <version>1.5.12.RELEASE</version>
62                 <type>pom</type>
63                 <scope>import</scope>
64             </dependency>
65         </dependencies>
66     </dependencyManagement>
67
68     <dependencies>
69         <dependency>
70             <groupId>org.springframework.boot</groupId>
71             <artifactId>spring-boot-starter-web</artifactId>
72         </dependency>
73         <dependency>
74             <groupId>org.springframework.boot</groupId>
75             <artifactId>spring-boot-starter-jetty</artifactId>
76         </dependency>
77         <dependency>
78             <groupId>org.springframework.boot</groupId>
79             <artifactId>spring-boot-starter</artifactId>
80         </dependency>
81         <dependency>
82             <groupId>org.springframework.boot</groupId>
83             <artifactId>spring-boot-starter-jersey</artifactId>
84         </dependency>
85         <dependency>
86             <groupId>org.springframework.boot</groupId>
87             <artifactId>spring-boot-starter-actuator</artifactId>
88         </dependency>
89         <dependency>
90             <groupId>org.apache.cxf</groupId>
91             <artifactId>cxf-rt-frontend-jaxrs</artifactId>
92             <version>3.2.4</version>
93         </dependency>
94         <dependency>
95             <groupId>com.google.guava</groupId>
96             <artifactId>guava</artifactId>
97             <version>23.0</version>
98         </dependency>
99         <dependency>
100             <groupId>radeox</groupId>
101             <artifactId>radeox</artifactId>
102             <version>1.0-b2</version>
103         </dependency>
104         <dependency>
105             <groupId>org.codehaus.jackson</groupId>
106             <artifactId>jackson-mapper-asl</artifactId>
107             <version>1.9.13</version>
108         </dependency>
109         <dependency>
110             <groupId>org.mockito</groupId>
111             <artifactId>mockito-all</artifactId>
112             <version>1.9.5</version>
113             <scope>test</scope>
114         </dependency>
115         <dependency>
116             <groupId>dom4j</groupId>
117             <artifactId>dom4j</artifactId>
118             <version>1.6.1</version>
119             <scope>provided</scope>
120         </dependency>
121         <dependency>
122             <groupId>commons-io</groupId>
123             <artifactId>commons-io</artifactId>
124             <version>2.4</version>
125         </dependency>
126         <dependency>
127             <groupId>org.apache.commons</groupId>
128             <artifactId>commons-lang3</artifactId>
129             <version>3.3.1</version>
130         </dependency>
131         <dependency>
132             <groupId>com.google.code.gson</groupId>
133             <artifactId>gson</artifactId>
134             <version>2.6.2</version>
135         </dependency>
136         <!-- Common logging framework -->
137         <dependency>
138             <groupId>org.onap.aai.logging-service</groupId>
139             <artifactId>common-logging</artifactId>
140             <version>1.2.2</version>
141             <exclusions>
142                 <exclusion>
143                     <groupId>ch.qos.logback</groupId>
144                     <artifactId>logback-classic</artifactId>
145                 </exclusion>
146                 <exclusion>
147                     <groupId>ch.qos.logback</groupId>
148                     <artifactId>logback-core</artifactId>
149                 </exclusion>
150                 <exclusion>
151                     <groupId>org.slf4j</groupId>
152                     <artifactId>slf4j-api</artifactId>
153                 </exclusion>
154             </exclusions>
155         </dependency>
156         <dependency>
157             <groupId>org.onap.aai.event-client</groupId>
158             <artifactId>event-client-dmaap</artifactId>
159             <version>1.2.1</version>
160             <exclusions>
161                 <exclusion>
162                     <groupId>org.slf4j</groupId>
163                     <artifactId>slf4j-api</artifactId>
164                 </exclusion>
165             </exclusions>
166         </dependency>
167         <dependency>
168             <groupId>org.onap.aai.aai-common</groupId>
169             <artifactId>aai-schema</artifactId>
170             <version>1.2.1</version>
171         </dependency>
172         <dependency>
173             <groupId>org.onap.aai.aai-common</groupId>
174             <artifactId>aai-utils</artifactId>
175             <version>1.2.1</version>
176         </dependency>
177         <dependency>
178             <groupId>org.onap.aai.aai-common</groupId>
179             <artifactId>aai-core</artifactId>
180             <version>1.2.1</version>
181             <exclusions>
182                 <exclusion>
183                     <groupId>*</groupId>
184                     <artifactId>*</artifactId>
185                 </exclusion>
186             </exclusions>
187         </dependency>
188         <dependency>
189             <groupId>org.onap.aai.aai-common</groupId>
190             <artifactId>aai-auth</artifactId>
191             <version>1.2.1</version>
192         </dependency>
193         <dependency>
194             <groupId>org.eclipse.persistence</groupId>
195             <artifactId>eclipselink</artifactId>
196             <version>2.6.2</version>
197         </dependency>
198         <dependency>
199             <groupId>org.onap.aai</groupId>
200             <artifactId>rest-client</artifactId>
201             <version>1.2.1</version>
202         </dependency>
203         <dependency>
204             <groupId>net.dongliu</groupId>
205             <artifactId>gson-java8-datatype</artifactId>
206             <version>1.0.3</version>
207         </dependency>
208         <dependency>
209             <groupId>com.jayway.jsonpath</groupId>
210             <artifactId>json-path</artifactId>
211             <version>2.2.0</version>
212             <exclusions>
213                 <exclusion>
214                     <groupId>org.slf4j</groupId>
215                     <artifactId>slf4j-api</artifactId>
216                 </exclusion>
217             </exclusions>
218         </dependency>
219         <!-- AAI-CORE specific dependencies -->
220         <dependency>
221             <groupId>org.apache.tinkerpop</groupId>
222             <artifactId>gremlin-core</artifactId>
223             <version>3.2.3</version>
224             <scope>provided</scope>
225             <exclusions>
226                 <exclusion>
227                     <groupId>org.slf4j</groupId>
228                     <artifactId>slf4j-log4j12</artifactId>
229                 </exclusion>
230                 <exclusion>
231                     <groupId>org.slf4j</groupId>
232                     <artifactId>jcl-over-slf4j</artifactId>
233                 </exclusion>
234                 <exclusion>
235                     <groupId>org.slf4j</groupId>
236                     <artifactId>slf4j-api</artifactId>
237                 </exclusion>
238             </exclusions>
239         </dependency>
240         <dependency>
241             <groupId>org.apache.tinkerpop</groupId>
242             <artifactId>tinkergraph-gremlin</artifactId>
243             <version>3.2.3</version>
244             <scope>provided</scope>
245         </dependency>
246         <dependency>
247             <groupId>org.json</groupId>
248             <artifactId>json</artifactId>
249             <version>20160212</version>
250         </dependency>
251         <dependency>
252             <groupId>junit</groupId>
253             <artifactId>junit</artifactId>
254         </dependency>
255         <dependency>
256             <groupId>org.skyscreamer</groupId>
257             <artifactId>jsonassert</artifactId>
258             <version>1.5.0</version>
259             <scope>test</scope>
260         </dependency>
261         <dependency>
262             <groupId>org.hamcrest</groupId>
263             <artifactId>hamcrest-library</artifactId>
264             <version>${version.org.hamcrest.hamcrest-library}</version>
265             <scope>test</scope>
266         </dependency>
267         <dependency>
268             <groupId>org.apache.httpcomponents</groupId>
269             <artifactId>httpclient</artifactId>
270             <version>4.5</version>
271         </dependency>
272         <dependency>
273             <groupId>org.apache.httpcomponents</groupId>
274             <artifactId>httpcore</artifactId>
275             <version>4.4.1</version>
276         </dependency>
277         <dependency>
278             <groupId>org.springframework.boot</groupId>
279             <artifactId>
280                     spring-boot-configuration-processor
281                 </artifactId>
282             <optional>true</optional>
283         </dependency>
284     </dependencies>
285
286     <build>
287         <finalName>${project.artifactId}</finalName>
288         <plugins>
289             <plugin>
290                 <groupId>org.apache.maven.plugins</groupId>
291                 <artifactId>maven-resources-plugin</artifactId>
292                 <version>2.7</version>
293                 <executions>
294                     <execution>
295                         <id>copy-docker-file</id>
296                         <phase>package</phase>
297                         <goals>
298                             <goal>copy-resources</goal>
299                         </goals>
300                         <configuration>
301                             <outputDirectory>target</outputDirectory>
302                             <overwrite>true</overwrite>
303                             <resources>
304                                 <resource>
305                                     <directory>${basedir}/src/main/docker</directory>
306                                     <filtering>true</filtering>
307                                     <includes>
308                                         <include>**/*</include>
309                                     </includes>
310                                 </resource>
311                                 <resource>
312                                     <directory>${basedir}/src/main/bin/</directory>
313                                 </resource>
314                             </resources>
315                         </configuration>
316                     </execution>
317                 </executions>
318             </plugin>
319
320             <plugin>
321                 <groupId>com.spotify</groupId>
322                 <artifactId>docker-maven-plugin</artifactId>
323                 <version>0.4.11</version>
324                 <configuration>
325                     <verbose>true</verbose>
326                     <serverId>docker-hub</serverId>
327                     <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
328                     <dockerDirectory>${docker.location}</dockerDirectory>
329                     <imageTags>
330                         <imageTag>latest</imageTag>
331                     </imageTags>
332                     <forceTags>true</forceTags>
333                 </configuration>
334             </plugin>
335
336             <!-- license plugin -->
337             <!-- Uncomment this to add a license header to every source file -->
338             <plugin>
339                 <groupId>com.mycila</groupId>
340                 <artifactId>license-maven-plugin</artifactId>
341                 <version>3.0</version>
342                 <configuration>
343                     <header>License.txt</header>
344                     <includes>
345                         <include>src/main/java/**</include>
346                         <include>src/test/java/**</include>
347                     </includes>
348                 </configuration>
349                 <executions>
350                     <execution>
351                         <goals>
352                             <goal>format</goal>
353                         </goals>
354                         <phase>process-sources</phase>
355                     </execution>
356                 </executions>
357             </plugin>
358
359
360             <plugin>
361                 <groupId>org.apache.maven.plugins</groupId>
362                 <artifactId>maven-site-plugin</artifactId>
363                 <version>3.3</version>
364                 <configuration>
365                     <reportPlugins>
366                         <plugin>
367                             <groupId>org.apache.maven.plugins</groupId>
368                             <artifactId>maven-checkstyle-plugin</artifactId>
369                             <version>2.17</version>
370                             <reportSets>
371                                 <reportSet>
372                                     <reports>
373                                         <report>checkstyle</report>
374                                     </reports>
375                                 </reportSet>
376                             </reportSets>
377                         </plugin>
378                     </reportPlugins>
379                 </configuration>
380             </plugin>
381
382             <plugin>
383                 <groupId>org.apache.maven.plugins</groupId>
384                 <artifactId>maven-deploy-plugin</artifactId>
385                 <configuration>
386                     <skip>true</skip>
387                 </configuration>
388             </plugin>
389
390             <plugin>
391                 <groupId>org.codehaus.mojo</groupId>
392                 <artifactId>sonar-maven-plugin</artifactId>
393                 <version>3.2</version>
394             </plugin>
395
396             <plugin>
397                 <groupId>org.jacoco</groupId>
398                 <artifactId>jacoco-maven-plugin</artifactId>
399                 <version>0.7.7.201606060606</version>
400                 <configuration>
401                     <dumpOnExit>true</dumpOnExit>
402                 </configuration>
403                 <executions>
404                     <execution>
405                         <id>jacoco-initialize-unit-tests</id>
406                         <goals>
407                             <goal>prepare-agent</goal>
408                         </goals>
409                         <configuration>
410                             <destFile>${project.build.directory}/coverage-reports/jacoco.exec
411                             </destFile>
412                             <!-- <append>true</append> -->
413                         </configuration>
414                     </execution>
415                 </executions>
416             </plugin>
417             <plugin>
418                 <groupId>org.springframework.boot</groupId>
419                 <artifactId>spring-boot-maven-plugin</artifactId>
420                 <version>2.0.1.RELEASE</version>
421                 <executions>
422                     <execution>
423                         <goals>
424                             <goal>repackage</goal>
425                         </goals>
426                     </execution>
427                 </executions>
428             </plugin>
429         </plugins>
430     </build>
431
432     <distributionManagement>
433         <site>
434             <id>ecomp-javadoc</id>
435             <url>dav:https://ecomp-nexus:8443/repository/aai/gizmo-javadoc/${project.version}</url>
436         </site>
437     </distributionManagement>
438 </project>