Merge "Fix vulnerability report part1"
[externalapi/nbi.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3
4
5         Copyright (c) 2017 Orange.  All rights reserved.
6
7         Licensed under the Apache License, Version 2.0 (the "License");
8         you may not use this file except in compliance with the License.
9         You may obtain a copy of the License at
10
11             http://www.apache.org/licenses/LICENSE-2.0
12
13         Unless required by applicable law or agreed to in writing, software
14         distributed under the License is distributed on an "AS IS" BASIS,
15         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16         See the License for the specific language governing permissions and
17         limitations under the License.
18
19 -->
20 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21                  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22         <modelVersion>4.0.0</modelVersion>
23
24         <groupId>org.onap.externalapi-nbi</groupId>
25         <artifactId>nbi-rest-services</artifactId>
26         <version>1.0.0-SNAPSHOT</version>
27         <packaging>jar</packaging>
28
29         <name>nbi-rest-services</name>
30
31         <parent>
32                 <groupId>org.springframework.boot</groupId>
33                 <artifactId>spring-boot-starter-parent</artifactId>
34                 <version>1.5.10.RELEASE</version>
35                 <relativePath /> <!-- lookup parent from repository -->
36         </parent>
37
38
39         <properties>
40                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
41                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
42                 <nexusproxy>https://nexus.onap.org</nexusproxy>
43                 <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
44                 <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
45                 <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
46                 <java.version>1.8</java.version>
47                 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
48                 <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
49                 <timestamp>${maven.build.timestamp}</timestamp>
50                 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
51                 <!--docker -->
52                 <docker.tag>${project.version}-${timestamp}</docker.tag>
53                 <docker.latest.tag>${project.version}-latest</docker.latest.tag>
54         </properties>
55
56         <repositories>
57                 <repository>
58                         <id>maven2-repository.java.net</id>
59                         <name>Java.net Repository for Maven</name>
60                         <url>http://download.java.net/maven/2/</url>
61                         <layout>default</layout>
62                 </repository>
63                 <repository>
64                         <id>ecomp-snapshots</id>
65                         <name>Snapshot Repository</name>
66                         <url>https://nexus.onap.org/content/repositories/releases/</url>
67                 </repository>
68                 <repository>
69                         <id>ecomp-staging</id>
70                         <name>Staging Repository</name>
71                         <url>https://nexus.onap.org/content/repositories/staging/</url>
72                 </repository>
73         </repositories>
74
75         <distributionManagement>
76                 <repository>
77                         <id>ecomp-releases</id>
78                         <name>Release Repository</name>
79                         <url>${nexusproxy}/${releaseNexusPath}</url>
80                 </repository>
81                 <snapshotRepository>
82                         <id>ecomp-snapshots</id>
83                         <name>Snapshot Repository</name>
84                         <url>${nexusproxy}/${snapshotNexusPath}</url>
85                 </snapshotRepository>
86         </distributionManagement>
87
88         <licenses>
89                 <license>
90                         <name>Apache2</name>
91                         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
92                 </license>
93         </licenses>
94
95         <dependencies>
96
97                 <dependency>
98                         <groupId>org.springframework.boot</groupId>
99                         <artifactId>spring-boot-starter-web</artifactId>
100                 </dependency>
101
102                 <dependency>
103                         <groupId>org.springframework.boot</groupId>
104                         <artifactId>spring-boot-starter-data-jpa</artifactId>
105                 </dependency>
106
107                 <dependency>
108                         <groupId>org.apache.commons</groupId>
109                         <artifactId>commons-io</artifactId>
110                         <version>1.3.2</version>
111                 </dependency>
112
113                 <dependency>
114                         <groupId>commons-beanutils</groupId>
115                         <artifactId>commons-beanutils</artifactId>
116                         <version>1.9.3</version>
117                 </dependency>
118
119                 <dependency>
120                         <groupId>javax.validation</groupId>
121                         <artifactId>validation-api</artifactId>
122                         <version>2.0.1.Final</version>
123                 </dependency>
124
125                 <dependency>
126                         <groupId>org.apache.commons</groupId>
127                         <artifactId>commons-lang3</artifactId>
128                         <version>3.4</version>
129                 </dependency>
130
131                 <!-- mongo -->
132
133                 <dependency>
134                         <groupId>org.springframework.boot</groupId>
135                         <artifactId>spring-boot-starter-data-mongodb</artifactId>
136                 </dependency>
137
138                 <!-- mysql -->
139
140                 <dependency>
141                         <groupId>mysql</groupId>
142                         <artifactId>mysql-connector-java</artifactId>
143                 </dependency>
144                 <dependency>
145                         <groupId>org.mariadb.jdbc</groupId>
146                         <artifactId>mariadb-java-client</artifactId>
147                         <version>1.1.7</version>
148                 </dependency>
149
150                 <!-- swagger -->
151
152                 <dependency>
153                         <groupId>io.swagger</groupId>
154                         <artifactId>swagger-annotations</artifactId>
155                         <version>1.5.18</version>
156                 </dependency>
157
158                 <!-- jackson -->
159
160                 <dependency>
161                         <groupId>com.fasterxml.jackson.dataformat</groupId>
162                         <artifactId>jackson-dataformat-yaml</artifactId>
163                         <version>2.8.0</version>
164                 </dependency>
165
166                 <!-- jolt -->
167
168                 <dependency>
169                         <groupId>com.bazaarvoice.jolt</groupId>
170                         <artifactId>jolt-core</artifactId>
171                         <version>0.1.0</version>
172                         <exclusions>
173                                 <exclusion>
174                                         <groupId>com.fasterxml.jackson.core</groupId>
175                                         <artifactId>jackson-databind</artifactId>
176                                 </exclusion>
177                         </exclusions>
178                 </dependency>
179
180                 <dependency>
181                         <groupId>com.bazaarvoice.jolt</groupId>
182                         <artifactId>json-utils</artifactId>
183                         <version>0.1.0</version>
184                 </dependency>
185
186                 <!-- test -->
187
188                 <dependency>
189                         <groupId>org.springframework.boot</groupId>
190                         <artifactId>spring-boot-starter-test</artifactId>
191                         <scope>test</scope>
192                 </dependency>
193
194                 <!-- test h2  -->
195
196                 <dependency>
197                         <groupId>com.h2database</groupId>
198                         <artifactId>h2</artifactId>
199                         <scope>test</scope>
200                 </dependency>
201
202                 <dependency>
203                         <groupId>de.flapdoodle.embed</groupId>
204                         <artifactId>de.flapdoodle.embed.mongo</artifactId>
205                         <version>${embedded-mongo.version}</version>
206                         <scope>test</scope>
207                 </dependency>
208
209                 <!-- test wiremock -->
210
211                 <dependency>
212                         <groupId>org.springframework.cloud</groupId>
213                         <artifactId>spring-cloud-contract-wiremock</artifactId>
214                         <version>1.0.0.RELEASE</version>
215                         <scope>test</scope>
216                 </dependency>
217
218                 <dependency>
219                         <groupId>org.eclipse.jetty</groupId>
220                         <artifactId>jetty-server</artifactId>
221                         <version>9.4.7.RC0</version>
222                         <scope>test</scope>
223                 </dependency>
224
225                 <dependency>
226                         <groupId>org.eclipse.jetty</groupId>
227                         <artifactId>jetty-servlet</artifactId>
228                         <scope>test</scope>
229                 </dependency>
230
231                 <dependency>
232                         <groupId>org.eclipse.jetty</groupId>
233                         <artifactId>jetty-servlets</artifactId>
234                         <scope>test</scope>
235                 </dependency>
236
237                 <!-- runtime dev -->
238
239                 <dependency>
240                         <groupId>org.springframework.boot</groupId>
241                         <artifactId>spring-boot-devtools</artifactId>
242                         <scope>runtime</scope>
243                 </dependency>
244
245         </dependencies>
246
247         <build>
248                 <plugins>
249                         <plugin>
250                                 <groupId>org.springframework.boot</groupId>
251                                 <artifactId>spring-boot-maven-plugin</artifactId>
252                         </plugin>
253                         <plugin>
254                                 <groupId>org.sonatype.plugins</groupId>
255                                 <artifactId>nexus-staging-maven-plugin</artifactId>
256                                 <version>1.6.7</version>
257                                 <extensions>true</extensions>
258                                 <configuration>
259                                         <nexusUrl>${nexusproxy}</nexusUrl>
260                                         <stagingProfileId>176c31dfe190a</stagingProfileId>
261                                         <serverId>ecomp-staging</serverId>
262                                 </configuration>
263                         </plugin>
264                         <plugin>
265                                 <groupId>org.apache.maven.plugins</groupId>
266                                 <artifactId>maven-site-plugin</artifactId>
267                                 <version>3.6</version>
268                                 <dependencies>
269                                         <dependency>
270                                                 <groupId>org.apache.maven.wagon</groupId>
271                                                 <artifactId>wagon-webdav-jackrabbit</artifactId>
272                                                 <version>2.10</version>
273                                         </dependency>
274                                 </dependencies>
275                         </plugin>
276                         <plugin>
277                                 <groupId>com.mycila</groupId>
278                                 <artifactId>license-maven-plugin</artifactId>
279                                 <version>3.0</version>
280                                 <configuration>
281                                         <header>LICENSE.TXT</header>
282                                         <includes>
283                                                 <include>restclient/**</include>
284                                                 <include>src/**</include>
285                                                 <include>pom.xml</include>
286                                         </includes>
287                                         <skipExistingHeaders>true</skipExistingHeaders>
288                                         <skip>false</skip>
289                                         <mapping>
290                                                 <http>SCRIPT_STYLE</http>
291                                         </mapping>
292                                 </configuration>
293                                 <executions>
294                                         <execution>
295                                                 <goals>
296                                                         <!-- Set goal to "format" to auto update license headers -->
297                                                         <goal>check</goal>
298                                                 </goals>
299                                                 <phase>process-sources</phase>
300                                         </execution>
301                                 </executions>
302                         </plugin>
303                 </plugins>
304         </build>
305
306
307
308         <profiles>
309                 <profile>
310                         <id>docker</id>
311                         <build>
312                                 <plugins>
313                                         <plugin>
314                                                 <groupId>io.fabric8</groupId>
315                                                 <artifactId>docker-maven-plugin</artifactId>
316                                                 <version>0.19.1</version>
317                                                 <configuration>
318                                                         <verbose>true</verbose>
319                                                         <apiVersion>1.23</apiVersion>
320                                                         <pullRegistry>${docker.pull.registry}</pullRegistry>
321                                                         <pushRegistry>${docker.push.registry}</pushRegistry>
322                                                         <images>
323                                                                 <image>
324                                                                         <name>onap/externalapi/nbi</name>
325                                                                         <alias>onap/externalapi/nbi</alias>
326                                                                         <build>
327                                                                                 <cleanup>true</cleanup>
328                                                                                 <tags>
329                                                                                         <tag>${docker.tag}</tag>
330                                                                                         <tag>${docker.latest.tag}</tag>
331                                                                                 </tags>
332                                                                                 <dockerFileDir>${project.basedir}</dockerFileDir>
333                                                                         </build>
334                                                                 </image>
335                                                         </images>
336                                                 </configuration>
337                                                 <executions>
338                                                         <execution>
339                                                                 <id>clean-images</id>
340                                                                 <phase>pre-clean</phase>
341                                                                 <goals>
342                                                                         <goal>remove</goal>
343                                                                 </goals>
344                                                                 <configuration>
345                                                                         <removeAll>true</removeAll>
346                                                                         <image>nbi</image>
347                                                                 </configuration>
348                                                         </execution>
349                                                         <execution>
350                                                                 <id>generate-images</id>
351                                                                 <phase>package</phase>
352                                                                 <goals>
353                                                                         <goal>build</goal>
354                                                                 </goals>
355                                                         </execution>
356                                                         <execution>
357                                                                 <id>push-images</id>
358                                                                 <phase>deploy</phase>
359                                                                 <goals>
360                                                                         <goal>push</goal>
361                                                                 </goals>
362                                                         </execution>
363                                                 </executions>
364                                         </plugin>
365                                 </plugins>
366                         </build>
367                 </profile>
368         </profiles>
369
370 </project>