2 ================================================================================
3 Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
4 Copyright (c) 2018 Nokia. All rights reserved.
5 ================================================================================
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17 ============LICENSE_END=========================================================
20 <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/xsd/maven-4.0.0.xsd">
21 <modelVersion>4.0.0</modelVersion>
23 <groupId>org.onap.oparent</groupId>
24 <artifactId>oparent</artifactId>
25 <version>0.1.1</version>
28 <groupId>org.onap.dcaegen2.collectors.ves</groupId>
29 <artifactId>VESCollector</artifactId>
30 <version>1.3.1-SNAPSHOT</version>
31 <name>dcaegen2-collectors-ves</name>
32 <description>VESCollector</description>
34 <!-- PROJECT SETTINGS -->
35 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
36 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
37 <java.version>8</java.version>
38 <docker.image.name>onap/org.onap.dcaegen2.collectors.ves.vescollector</docker.image.name>
39 <!-- TEST SETTINGS -->
40 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
41 <!-- PLUGIN SETTINGS -->
42 <dependency.locations.enabled>false</dependency.locations.enabled>
43 <!-- NEXUS RELATED SETTINGS -->
44 <nexusproxy>https://nexus.onap.org</nexusproxy>
45 <snapshots.path>content/repositories/snapshots/</snapshots.path>
46 <releases.path>content/repositories/releases/</releases.path>
47 <site.path>content/sites/site/org/onap/dcaegen2/collectors/ves/${project.artifactId}/${project.version}</site.path>
48 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
54 <groupId>org.springframework.boot</groupId>
55 <artifactId>spring-boot-maven-plugin</artifactId>
56 <version>2.0.2.RELEASE</version>
60 <goal>repackage</goal>
66 <artifactId>maven-compiler-plugin</artifactId>
67 <version>3.7.0</version>
70 <artifactId>maven-source-plugin</artifactId>
71 <version>3.0.1</version>
74 <artifactId>maven-jar-plugin</artifactId>
75 <version>3.1.0</version>
78 <artifactId>maven-assembly-plugin</artifactId>
79 <version>3.1.0</version>
82 <artifactId>maven-javadoc-plugin</artifactId>
83 <version>3.0.1</version>
86 <artifactId>maven-project-info-reports-plugin</artifactId>
87 <version>2.9</version>
90 <groupId>com.spotify</groupId>
91 <artifactId>docker-maven-plugin</artifactId>
92 <version>1.1.1</version>
98 <artifactId>maven-compiler-plugin</artifactId>
100 <source>${java.version}</source>
101 <target>${java.version}</target>
102 <showWarnings>true</showWarnings>
103 <showDeprecation>true</showDeprecation>
107 <artifactId>maven-source-plugin</artifactId>
109 <excludeResources>true</excludeResources>
113 <id>attach-sources</id>
114 <phase>verify</phase>
116 <goal>jar-no-fork</goal>
122 <artifactId>maven-jar-plugin</artifactId>
126 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
129 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
135 <artifactId>maven-assembly-plugin</artifactId>
138 <descriptor>src/assembly/dep.xml</descriptor>
140 <attach>false</attach>
141 <appendAssemblyId>false</appendAssemblyId>
142 <updateOnly>true</updateOnly>
146 <id>make-assembly</id>
147 <phase>package</phase>
155 <artifactId>maven-javadoc-plugin</artifactId>
157 <!-- minimize console output messages -->
159 <verbose>false</verbose>
160 <useStandardDocletOptions>false</useStandardDocletOptions>
167 <goal>aggregate</goal>
171 <id>attach-javadoc</id>
179 <groupId>com.spotify</groupId>
180 <artifactId>docker-maven-plugin</artifactId>
182 <serverId>${onap.nexus.dockerregistry.daily}</serverId>
183 <imageName>${docker.image.name}</imageName>
187 <baseImage>openjdk:8-jre-slim</baseImage>
189 <HOSTALIASES>/etc/host.aliases</HOSTALIASES>
191 <workdir>/opt/app/VESCollector</workdir>
194 <targetPath>.</targetPath>
195 <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory>
199 <run>chmod +x bin/*.sh</run>
200 <!-- Maven is loosing file permissions during artifacts copy -->
201 <run><![CDATA[apt-get update && apt-get install -y --no-install-recommends logrotate && apt-get install -y procps && apt-get install -y vim && apt-get clean all]]></run>
202 <run>chmod 0644 etc/logrotate.conf</run>
205 <expose>8080</expose>
206 <expose>8443</expose>
208 <entryPoint>bin/docker-entry.sh</entryPoint>
213 <phase>package</phase>
219 <id>tag-and-push-image-latest</id>
220 <phase>deploy</phase>
225 <image>${docker.image.name}:latest</image>
226 <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:latest</newName>
227 <pushImage>true</pushImage>
231 <id>tag-and-push-image-with-version</id>
232 <phase>deploy</phase>
237 <image>${docker.image.name}:latest</image>
238 <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}</newName>
239 <pushImage>true</pushImage>
243 <id>tag-and-push-image-with-version-and-date</id>
244 <phase>deploy</phase>
249 <image>${docker.image.name}:latest</image>
250 <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}-${maven.build.timestamp}Z</newName>
251 <pushImage>true</pushImage>
260 <id>with-system-proxy</id>
264 <groupId>com.spotify</groupId>
265 <artifactId>docker-maven-plugin</artifactId>
268 <http_proxy>${env.http_proxy}</http_proxy>
279 <artifactId>maven-project-info-reports-plugin</artifactId>
283 <report>dependencies</report>
284 <report>license</report>
290 <artifactId>maven-javadoc-plugin</artifactId>
292 <failOnError>false</failOnError>
293 <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
295 <groupId>org.umlgraph</groupId>
296 <artifactId>umlgraph</artifactId>
297 <version>5.6</version>
299 <additionalparam>-views</additionalparam>
300 <useStandardDocletOptions>true</useStandardDocletOptions>
305 <dependencyManagement>
308 <!-- Import dependency management from Spring Boot -->
309 <groupId>org.springframework.boot</groupId>
310 <artifactId>spring-boot-dependencies</artifactId>
311 <version>2.0.3.RELEASE</version>
313 <scope>import</scope>
316 </dependencyManagement>
318 <!-- JSON RELATED -->
320 <groupId>com.googlecode.json-simple</groupId>
321 <artifactId>json-simple</artifactId>
322 <version>1.1.1</version>
325 <groupId>com.github.fge</groupId>
326 <artifactId>json-schema-validator</artifactId>
327 <version>2.2.6</version>
330 <groupId>com.github.fge</groupId>
331 <artifactId>json-schema-core</artifactId>
332 <version>1.2.5</version>
335 <groupId>com.google.code.gson</groupId>
336 <artifactId>gson</artifactId>
337 <version>2.3.1</version>
340 <groupId>org.json</groupId>
341 <artifactId>json</artifactId>
342 <version>20160810</version>
344 <!-- REST API RELATED -->
346 <groupId>com.att.nsa</groupId>
347 <artifactId>cambriaClient</artifactId>
348 <version>0.0.1</version>
351 <groupId>com.mashape.unirest</groupId>
352 <artifactId>unirest-java</artifactId>
353 <version>1.4.9</version>
355 <!-- MISCELLANEOUS -->
357 <groupId>commons-collections</groupId>
358 <artifactId>commons-collections</artifactId>
359 <version>3.2.2</version>
362 <groupId>commons-configuration</groupId>
363 <artifactId>commons-configuration</artifactId>
364 <version>1.10</version>
367 <groupId>io.vavr</groupId>
368 <artifactId>vavr</artifactId>
369 <version>0.9.2</version>
372 <groupId>org.springframework.boot</groupId>
373 <artifactId>spring-boot-starter-security</artifactId>
376 <groupId>org.springframework.boot</groupId>
377 <artifactId>spring-boot-starter-logging</artifactId>
382 <groupId>org.springframework.boot</groupId>
383 <artifactId>spring-boot-starter-web</artifactId>
386 <groupId>org.springframework.security</groupId>
387 <artifactId>spring-security-config</artifactId>
390 <groupId>org.springframework.boot</groupId>
391 <artifactId>spring-boot-starter-log4j</artifactId>
392 <version>1.3.8.RELEASE</version>
395 <groupId>io.springfox</groupId>
396 <artifactId>springfox-swagger2</artifactId>
397 <version>2.8.0</version>
400 <groupId>io.springfox</groupId>
401 <artifactId>springfox-swagger-ui</artifactId>
402 <version>2.8.0</version>
403 <scope>compile</scope>
407 <groupId>org.mockito</groupId>
408 <artifactId>mockito-core</artifactId>
409 <version>2.18.0</version>
413 <groupId>junit</groupId>
414 <artifactId>junit</artifactId>
415 <version>4.12</version>
419 <groupId>org.assertj</groupId>
420 <artifactId>assertj-core</artifactId>
421 <version>3.8.0</version>
425 <groupId>com.google.jimfs</groupId>
426 <artifactId>jimfs</artifactId>
427 <version>1.1</version>
431 <groupId>com.github.tomakehurst</groupId>
432 <artifactId>wiremock-standalone</artifactId>
433 <version>2.17.0</version>
439 <id>external-repository</id>
440 <url>https://oss.sonatype.org/content/repositories</url>
444 <!-- Black Duck plugin dependencies -->
447 <name>JCenter Repository</name>
448 <url>http://jcenter.bintray.com</url>
452 <name>Restlet Repository</name>
453 <url>http://maven.restlet.com</url>
455 </pluginRepositories>