VES 7.0.1 updates
[dcaegen2/collectors/ves.git] / pom.xml
1 <!--
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
9
10     http://www.apache.org/licenses/LICENSE-2.0
11
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=========================================================
18 -->
19
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>
22     <parent>
23         <groupId>org.onap.oparent</groupId>
24         <artifactId>oparent</artifactId>
25         <version>0.1.1</version>
26         <relativePath />
27     </parent>
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>
33     <properties>
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>
49     </properties>
50     <build>
51         <pluginManagement>
52             <plugins>
53                 <plugin>
54                     <groupId>org.springframework.boot</groupId>
55                     <artifactId>spring-boot-maven-plugin</artifactId>
56                     <version>2.0.2.RELEASE</version>
57                     <executions>
58                         <execution>
59                             <goals>
60                                 <goal>repackage</goal>
61                             </goals>
62                         </execution>
63                     </executions>
64                 </plugin>
65                 <plugin>
66                     <artifactId>maven-compiler-plugin</artifactId>
67                     <version>3.7.0</version>
68                 </plugin>
69                 <plugin>
70                     <artifactId>maven-source-plugin</artifactId>
71                     <version>3.0.1</version>
72                 </plugin>
73                 <plugin>
74                     <artifactId>maven-jar-plugin</artifactId>
75                     <version>3.1.0</version>
76                 </plugin>
77                 <plugin>
78                     <artifactId>maven-assembly-plugin</artifactId>
79                     <version>3.1.0</version>
80                 </plugin>
81                 <plugin>
82                     <artifactId>maven-javadoc-plugin</artifactId>
83                     <version>3.0.1</version>
84                 </plugin>
85                 <plugin>
86                     <artifactId>maven-project-info-reports-plugin</artifactId>
87                     <version>2.9</version>
88                 </plugin>
89                 <plugin>
90                     <groupId>com.spotify</groupId>
91                     <artifactId>docker-maven-plugin</artifactId>
92                     <version>1.1.1</version>
93                 </plugin>
94             </plugins>
95         </pluginManagement>
96         <plugins>
97             <plugin>
98                 <artifactId>maven-compiler-plugin</artifactId>
99                 <configuration>
100                     <source>${java.version}</source>
101                     <target>${java.version}</target>
102                     <showWarnings>true</showWarnings>
103                     <showDeprecation>true</showDeprecation>
104                 </configuration>
105             </plugin>
106             <plugin>
107                 <artifactId>maven-source-plugin</artifactId>
108                 <configuration>
109                     <excludeResources>true</excludeResources>
110                 </configuration>
111                 <executions>
112                     <execution>
113                         <id>attach-sources</id>
114                         <phase>verify</phase>
115                         <goals>
116                             <goal>jar-no-fork</goal>
117                         </goals>
118                     </execution>
119                 </executions>
120             </plugin>
121             <plugin>
122                 <artifactId>maven-jar-plugin</artifactId>
123                 <configuration>
124                     <archive>
125                         <manifest>
126                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
127                         </manifest>
128                         <manifestEntries>
129                             <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
130                         </manifestEntries>
131                     </archive>
132                 </configuration>
133             </plugin>
134             <plugin>
135                 <artifactId>maven-assembly-plugin</artifactId>
136                 <configuration>
137                     <descriptors>
138                         <descriptor>src/assembly/dep.xml</descriptor>
139                     </descriptors>
140                     <attach>false</attach>
141                     <appendAssemblyId>false</appendAssemblyId>
142                     <updateOnly>true</updateOnly>
143                 </configuration>
144                 <executions>
145                     <execution>
146                         <id>make-assembly</id>
147                         <phase>package</phase>
148                         <goals>
149                             <goal>single</goal>
150                         </goals>
151                     </execution>
152                 </executions>
153             </plugin>
154             <plugin>
155                 <artifactId>maven-javadoc-plugin</artifactId>
156                 <configuration>
157                     <!-- minimize console output messages -->
158                     <quiet>true</quiet>
159                     <verbose>false</verbose>
160                     <useStandardDocletOptions>false</useStandardDocletOptions>
161                 </configuration>
162                 <executions>
163                     <execution>
164                         <id>aggregate</id>
165                         <phase>site</phase>
166                         <goals>
167                             <goal>aggregate</goal>
168                         </goals>
169                     </execution>
170                     <execution>
171                         <id>attach-javadoc</id>
172                         <goals>
173                             <goal>jar</goal>
174                         </goals>
175                     </execution>
176                 </executions>
177             </plugin>
178             <plugin>
179                 <groupId>com.spotify</groupId>
180                 <artifactId>docker-maven-plugin</artifactId>
181                 <configuration>
182                     <serverId>${onap.nexus.dockerregistry.daily}</serverId>
183                     <imageName>${docker.image.name}</imageName>
184                     <imageTags>
185                         <tag>latest</tag>
186                     </imageTags>
187                     <baseImage>openjdk:8-jre-slim</baseImage>
188                     <env>
189                         <HOSTALIASES>/etc/host.aliases</HOSTALIASES>
190                     </env>
191                     <workdir>/opt/app/VESCollector</workdir>
192                     <resources>
193                         <resource>
194                             <targetPath>.</targetPath>
195                             <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory>
196                         </resource>
197                     </resources>
198                     <runs>
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>
203                     </runs>
204                     <exposes>
205                         <expose>8080</expose>
206                         <expose>8443</expose>
207                     </exposes>
208                     <entryPoint>bin/docker-entry.sh</entryPoint>
209                 </configuration>
210                 <executions>
211                     <execution>
212                         <id>build-image</id>
213                         <phase>package</phase>
214                         <goals>
215                             <goal>build</goal>
216                         </goals>
217                     </execution>
218                     <execution>
219                         <id>tag-and-push-image-latest</id>
220                         <phase>deploy</phase>
221                         <goals>
222                             <goal>tag</goal>
223                         </goals>
224                         <configuration>
225                             <image>${docker.image.name}:latest</image>
226                             <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:latest</newName>
227                             <pushImage>true</pushImage>
228                         </configuration>
229                     </execution>
230                     <execution>
231                         <id>tag-and-push-image-with-version</id>
232                         <phase>deploy</phase>
233                         <goals>
234                             <goal>tag</goal>
235                         </goals>
236                         <configuration>
237                             <image>${docker.image.name}:latest</image>
238                             <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}</newName>
239                             <pushImage>true</pushImage>
240                         </configuration>
241                     </execution>
242                     <execution>
243                         <id>tag-and-push-image-with-version-and-date</id>
244                         <phase>deploy</phase>
245                         <goals>
246                             <goal>tag</goal>
247                         </goals>
248                         <configuration>
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>
252                         </configuration>
253                     </execution>
254                 </executions>
255             </plugin>
256         </plugins>
257     </build>
258     <profiles>
259         <profile>
260             <id>with-system-proxy</id>
261             <build>
262                 <plugins>
263                     <plugin>
264                         <groupId>com.spotify</groupId>
265                         <artifactId>docker-maven-plugin</artifactId>
266                         <configuration>
267                             <buildArgs>
268                                 <http_proxy>${env.http_proxy}</http_proxy>
269                             </buildArgs>
270                         </configuration>
271                     </plugin>
272                 </plugins>
273             </build>
274         </profile>
275     </profiles>
276     <reporting>
277         <plugins>
278             <plugin>
279                 <artifactId>maven-project-info-reports-plugin</artifactId>
280                 <reportSets>
281                     <reportSet>
282                         <reports>
283                             <report>dependencies</report>
284                             <report>license</report>
285                         </reports>
286                     </reportSet>
287                 </reportSets>
288             </plugin>
289             <plugin>
290                 <artifactId>maven-javadoc-plugin</artifactId>
291                 <configuration>
292                     <failOnError>false</failOnError>
293                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
294                     <docletArtifact>
295                         <groupId>org.umlgraph</groupId>
296                         <artifactId>umlgraph</artifactId>
297                         <version>5.6</version>
298                     </docletArtifact>
299                     <additionalparam>-views</additionalparam>
300                     <useStandardDocletOptions>true</useStandardDocletOptions>
301                 </configuration>
302             </plugin>
303         </plugins>
304     </reporting>
305     <dependencyManagement>
306         <dependencies>
307             <dependency>
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>
312                 <type>pom</type>
313                 <scope>import</scope>
314             </dependency>
315         </dependencies>
316     </dependencyManagement>
317     <dependencies>
318         <!-- JSON RELATED -->
319         <dependency>
320             <groupId>com.googlecode.json-simple</groupId>
321             <artifactId>json-simple</artifactId>
322             <version>1.1.1</version>
323         </dependency>
324         <dependency>
325             <groupId>com.github.fge</groupId>
326             <artifactId>json-schema-validator</artifactId>
327             <version>2.2.6</version>
328         </dependency>
329         <dependency>
330             <groupId>com.github.fge</groupId>
331             <artifactId>json-schema-core</artifactId>
332             <version>1.2.5</version>
333         </dependency>
334         <dependency>
335             <groupId>com.google.code.gson</groupId>
336             <artifactId>gson</artifactId>
337             <version>2.3.1</version>
338         </dependency>
339         <dependency>
340             <groupId>org.json</groupId>
341             <artifactId>json</artifactId>
342             <version>20160810</version>
343         </dependency>
344         <!-- REST API RELATED -->
345         <dependency>
346             <groupId>com.att.nsa</groupId>
347             <artifactId>cambriaClient</artifactId>
348             <version>0.0.1</version>
349         </dependency>
350         <dependency>
351             <groupId>com.mashape.unirest</groupId>
352             <artifactId>unirest-java</artifactId>
353             <version>1.4.9</version>
354         </dependency>
355         <!-- MISCELLANEOUS -->
356         <dependency>
357             <groupId>commons-collections</groupId>
358             <artifactId>commons-collections</artifactId>
359             <version>3.2.2</version>
360         </dependency>
361         <dependency>
362             <groupId>commons-configuration</groupId>
363             <artifactId>commons-configuration</artifactId>
364             <version>1.10</version>
365         </dependency>
366         <dependency>
367             <groupId>io.vavr</groupId>
368             <artifactId>vavr</artifactId>
369             <version>0.9.2</version>
370         </dependency>
371         <dependency>
372             <groupId>org.springframework.boot</groupId>
373             <artifactId>spring-boot-starter-security</artifactId>
374             <exclusions>
375                 <exclusion>
376                     <groupId>org.springframework.boot</groupId>
377                     <artifactId>spring-boot-starter-logging</artifactId>
378                 </exclusion>
379             </exclusions>
380         </dependency>
381         <dependency>
382             <groupId>org.springframework.boot</groupId>
383             <artifactId>spring-boot-starter-web</artifactId>
384         </dependency>
385         <dependency>
386             <groupId>org.springframework.security</groupId>
387             <artifactId>spring-security-config</artifactId>
388         </dependency>
389         <dependency>
390             <groupId>org.springframework.boot</groupId>
391             <artifactId>spring-boot-starter-log4j</artifactId>
392             <version>1.3.8.RELEASE</version>
393         </dependency>
394         <dependency>
395             <groupId>io.springfox</groupId>
396             <artifactId>springfox-swagger2</artifactId>
397             <version>2.8.0</version>
398         </dependency>
399         <dependency>
400             <groupId>io.springfox</groupId>
401             <artifactId>springfox-swagger-ui</artifactId>
402             <version>2.8.0</version>
403             <scope>compile</scope>
404         </dependency>
405         <!-- TESTING -->
406         <dependency>
407             <groupId>org.mockito</groupId>
408             <artifactId>mockito-core</artifactId>
409             <version>2.18.0</version>
410             <scope>test</scope>
411         </dependency>
412         <dependency>
413             <groupId>junit</groupId>
414             <artifactId>junit</artifactId>
415             <version>4.12</version>
416             <scope>test</scope>
417         </dependency>
418         <dependency>
419             <groupId>org.assertj</groupId>
420             <artifactId>assertj-core</artifactId>
421             <version>3.8.0</version>
422             <scope>test</scope>
423         </dependency>
424         <dependency>
425             <groupId>com.google.jimfs</groupId>
426             <artifactId>jimfs</artifactId>
427             <version>1.1</version>
428             <scope>test</scope>
429         </dependency>
430         <dependency>
431             <groupId>com.github.tomakehurst</groupId>
432             <artifactId>wiremock-standalone</artifactId>
433             <version>2.17.0</version>
434             <scope>test</scope>
435         </dependency>
436     </dependencies>
437     <repositories>
438         <repository>
439             <id>external-repository</id>
440             <url>https://oss.sonatype.org/content/repositories</url>
441         </repository>
442     </repositories>
443     <pluginRepositories>
444         <!-- Black Duck plugin dependencies -->
445         <pluginRepository>
446             <id>JCenter</id>
447             <name>JCenter Repository</name>
448             <url>http://jcenter.bintray.com</url>
449         </pluginRepository>
450         <pluginRepository>
451             <id>Restlet</id>
452             <name>Restlet Repository</name>
453             <url>http://maven.restlet.com</url>
454         </pluginRepository>
455     </pluginRepositories>
456 </project>