Update DCAE SDK library
[dcaegen2/collectors/ves.git] / pom.xml
1 <?xml version="1.0"?>
2 <!--
3     ================================================================================
4         Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved.
5         Copyright (c) 2020-2021 Nokia. All rights reserved.
6         ================================================================================
7         Licensed under the Apache License, Version 2.0 (the "License"); you may not
8         use this file except in compliance with the License. You may obtain a copy
9         of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
10         by applicable law or agreed to in writing, software distributed under the
11         License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
12         OF ANY KIND, either express or implied. See the License for the specific
13         language governing permissions and limitations under the License.
14         ============LICENSE_END=========================================================
15 -->
16 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
17   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
18   <modelVersion>4.0.0</modelVersion>
19   <parent>
20     <groupId>org.onap.oparent</groupId>
21     <artifactId>oparent</artifactId>
22     <version>3.2.0</version>
23     <relativePath/>
24   </parent>
25   <groupId>org.onap.dcaegen2.collectors.ves</groupId>
26   <artifactId>VESCollector</artifactId>
27   <version>1.10.1-SNAPSHOT</version>
28   <name>dcaegen2-collectors-ves</name>
29   <description>VESCollector</description>
30   <properties>
31     <!-- PROJECT SETTINGS -->
32     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
33     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
34     <java.version>11</java.version>
35     <docker.image.name>onap/org.onap.dcaegen2.collectors.ves.vescollector</docker.image.name>
36     <!-- TEST SETTINGS -->
37     <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
38     <!-- PLUGIN SETTINGS -->
39     <dependency.locations.enabled>false</dependency.locations.enabled>
40     <!-- NEXUS RELATED SETTINGS -->
41     <nexusproxy>https://nexus.onap.org</nexusproxy>
42     <snapshots.path>content/repositories/snapshots/</snapshots.path>
43     <releases.path>content/repositories/releases/</releases.path>
44     <site.path>content/sites/site/org/onap/dcaegen2/collectors/ves/${project.artifactId}/${project.version}</site.path>
45     <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
46     <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
47     <maven.compiler.target>${java.version}</maven.compiler.target>
48     <maven.compiler.source>${java.version}</maven.compiler.source>
49     <sonar.coverage.jacoco.xmlReportPaths>
50         ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
51     </sonar.coverage.jacoco.xmlReportPaths>
52     <!-- DEPENDENCY RELATED SETTINGS -->
53     <micrometer.version>1.6.5</micrometer.version>
54     <spring.version>2.4.3</spring.version>
55     <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
56     <maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>
57     <maven-project-info-reports-plugin.version>2.9</maven-project-info-reports-plugin.version>
58     <maven-surefire-plugin.version>3.0.0-M1</maven-surefire-plugin.version>
59     <docker-maven-plugin.version>1.2.0</docker-maven-plugin.version>
60     <json-simple.version>1.1.1</json-simple.version>
61     <json-schema-validator.version>1.0.49</json-schema-validator.version>
62     <gson.version>2.8.6</gson.version>
63     <json.version>20210307</json.version>
64     <unirest-java.version>1.4.9</unirest-java.version>
65     <commons-collections.version>3.2.2</commons-collections.version>
66     <commons-configuration.version>1.10</commons-configuration.version>
67     <vavr.version>0.10.3</vavr.version>
68     <spring-boot-starter-log4j2.version>2.4.3</spring-boot-starter-log4j2.version>
69     <springfox-swagger2.version>3.0.0</springfox-swagger2.version>
70     <assertj-core.version>3.19.0</assertj-core.version>
71     <spring-boot-starter-test.version>2.2.13.RELEASE</spring-boot-starter-test.version>
72     <sdk.version>1.8.7</sdk.version>
73     <guava.version>30.1-jre</guava.version>
74     <mock-server.version>5.11.1</mock-server.version>
75     <reactor-test.version>3.4.0</reactor-test.version>
76     <testcontainers.version>1.15.1</testcontainers.version>
77     <junit-jupiter.version>1.15.1</junit-jupiter.version>
78   </properties>
79   <build>
80     <pluginManagement>
81       <plugins>
82         <plugin>
83           <groupId>org.springframework.boot</groupId>
84           <artifactId>spring-boot-maven-plugin</artifactId>
85         </plugin>
86         <plugin>
87           <artifactId>maven-assembly-plugin</artifactId>
88           <version>${maven-assembly-plugin.version}</version>
89         </plugin>
90         <plugin>
91           <artifactId>maven-javadoc-plugin</artifactId>
92           <version>${maven-javadoc-plugin.version}</version>
93         </plugin>
94         <plugin>
95           <artifactId>maven-project-info-reports-plugin</artifactId>
96           <version>${maven-project-info-reports-plugin.version}</version>
97         </plugin>
98         <plugin>
99           <groupId>org.apache.maven.plugins</groupId>
100           <artifactId>maven-surefire-plugin</artifactId>
101           <version>${maven-surefire-plugin.version}</version>
102           <configuration>
103             <environmentVariables>
104               <TESTCONTAINERS_RYUK_DISABLED>true</TESTCONTAINERS_RYUK_DISABLED>
105             </environmentVariables>
106           </configuration>
107         </plugin>
108         <plugin>
109           <groupId>com.spotify</groupId>
110           <artifactId>docker-maven-plugin</artifactId>
111           <version>${docker-maven-plugin.version}</version>
112         </plugin>
113         <plugin>
114           <groupId>org.apache.maven.plugins</groupId>
115           <artifactId>maven-enforcer-plugin</artifactId>
116           <configuration>
117             <skip>true</skip>
118           </configuration>
119         </plugin>
120       </plugins>
121     </pluginManagement>
122     <plugins>
123       <plugin>
124         <artifactId>maven-assembly-plugin</artifactId>
125         <configuration>
126           <descriptors>
127             <descriptor>src/assembly/dep.xml</descriptor>
128           </descriptors>
129           <attach>false</attach>
130           <appendAssemblyId>false</appendAssemblyId>
131           <updateOnly>true</updateOnly>
132         </configuration>
133         <executions>
134           <execution>
135             <id>make-assembly</id>
136             <phase>package</phase>
137             <goals>
138               <goal>single</goal>
139             </goals>
140           </execution>
141         </executions>
142       </plugin>
143       <plugin>
144         <groupId>org.springframework.boot</groupId>
145         <artifactId>spring-boot-maven-plugin</artifactId>
146         <executions>
147           <execution>
148             <goals>
149               <goal>repackage</goal>
150             </goals>
151           </execution>
152         </executions>
153       </plugin>
154       <plugin>
155         <artifactId>maven-javadoc-plugin</artifactId>
156         <configuration>
157           <quiet>true</quiet>
158           <verbose>false</verbose>
159           <useStandardDocletOptions>false</useStandardDocletOptions>
160         </configuration>
161         <executions>
162           <execution>
163             <id>aggregate</id>
164             <phase>site</phase>
165             <goals>
166               <goal>aggregate</goal>
167             </goals>
168           </execution>
169           <execution>
170             <id>attach-javadoc</id>
171             <goals>
172               <goal>jar</goal>
173             </goals>
174           </execution>
175         </executions>
176       </plugin>
177       <plugin>
178         <groupId>com.spotify</groupId>
179         <artifactId>docker-maven-plugin</artifactId>
180         <configuration>
181           <serverId>${onap.nexus.dockerregistry.daily}</serverId>
182           <imageName>${onap.nexus.dockerregistry.daily}/${docker.image.name}</imageName>
183           <imageTags>
184             <imageTag>${project.version}-${maven.build.timestamp}Z</imageTag>
185             <imageTag>${project.version}</imageTag>
186             <imageTag>latest</imageTag>
187           </imageTags>
188           <baseImage>openjdk:11-jre-slim</baseImage>
189           <user>vescollector</user>
190           <env>
191             <HOSTALIASES>/etc/host.aliases</HOSTALIASES>
192           </env>
193           <workdir>/opt/app/VESCollector</workdir>
194           <resources>
195             <resource>
196               <targetPath>.</targetPath>
197               <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory>
198             </resource>
199           </resources>
200           <runs>
201             <run>useradd -r -U vescollector</run>
202             <run>chown -R vescollector:vescollector /opt/app</run>
203             <run>mkdir /opt/app/VESCollector/logs</run>
204             <run>chown -R vescollector:vescollector /opt/app/VESCollector/logs</run>
205             <run>chown -R vescollector:vescollector /opt/app/VESCollector/etc</run>
206             <!-- Maven is loosing file permissions during artifacts copy -->
207             <run>chmod +x bin/*.sh</run>
208             <run>
209               <![CDATA[apt-get update && apt-get install -y --no-install-recommends procps && apt-get install -y less && apt-get install -y vim && apt-get install -y curl && apt-get clean all]]></run>
210           </runs>
211           <exposes>
212             <expose>8080</expose>
213             <expose>8443</expose>
214           </exposes>
215           <cmd>bin/docker-entry.sh</cmd>
216         </configuration>
217       </plugin>
218     </plugins>
219   </build>
220   <profiles>
221     <profile>
222       <id>buildForPerfTests</id>
223       <activation>
224         <activeByDefault>false</activeByDefault>
225       </activation>
226       <dependencies>
227         <!-- Libraries related with performance tests-->
228         <dependency>
229           <groupId>org.springframework.boot</groupId>
230           <artifactId>spring-boot-starter-actuator</artifactId>
231           <version>${spring.version}</version>
232         </dependency>
233         <dependency>
234           <groupId>io.micrometer</groupId>
235           <artifactId>micrometer-registry-prometheus</artifactId>
236           <version>${micrometer.version}</version>
237         </dependency>
238         <dependency>
239           <groupId>io.micrometer</groupId>
240           <artifactId>micrometer-core</artifactId>
241           <version>${micrometer.version}</version>
242         </dependency>
243       </dependencies>
244     </profile>
245     <profile>
246       <id>with-system-proxy</id>
247       <build>
248         <plugins>
249           <plugin>
250             <groupId>com.spotify</groupId>
251             <artifactId>docker-maven-plugin</artifactId>
252             <configuration>
253               <buildArgs>
254                 <http_proxy>${env.http_proxy}</http_proxy>
255               </buildArgs>
256             </configuration>
257           </plugin>
258         </plugins>
259       </build>
260     </profile>
261   </profiles>
262   <reporting>
263     <plugins>
264       <plugin>
265         <artifactId>maven-project-info-reports-plugin</artifactId>
266         <reportSets>
267           <reportSet>
268             <reports>
269               <report>dependencies</report>
270               <report>license</report>
271             </reports>
272           </reportSet>
273         </reportSets>
274       </plugin>
275       <plugin>
276         <artifactId>maven-javadoc-plugin</artifactId>
277         <configuration>
278           <failOnError>false</failOnError>
279           <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
280           <docletArtifact>
281             <groupId>org.umlgraph</groupId>
282             <artifactId>umlgraph</artifactId>
283             <version>5.6</version>
284           </docletArtifact>
285           <additionalparam>-views</additionalparam>
286           <useStandardDocletOptions>true</useStandardDocletOptions>
287         </configuration>
288       </plugin>
289     </plugins>
290   </reporting>
291   <dependencyManagement>
292     <dependencies>
293       <dependency>
294         <!-- Import dependency management from Spring Boot -->
295         <groupId>org.springframework.boot</groupId>
296         <artifactId>spring-boot-dependencies</artifactId>
297         <version>${spring.version}</version>
298         <type>pom</type>
299         <scope>import</scope>
300       </dependency>
301     </dependencies>
302   </dependencyManagement>
303   <dependencies>
304     <!-- JSON RELATED -->
305     <dependency>
306       <groupId>com.networknt</groupId>
307       <artifactId>json-schema-validator</artifactId>
308       <version>${json-schema-validator.version}</version>
309       <exclusions>
310         <exclusion>
311           <groupId>com.fasterxml.jackson.core</groupId>
312           <artifactId>jackson-databind</artifactId>
313         </exclusion>
314       </exclusions>
315     </dependency>
316     <dependency>
317       <groupId>com.google.code.gson</groupId>
318       <artifactId>gson</artifactId>
319       <version>${gson.version}</version>
320     </dependency>
321     <dependency>
322       <groupId>org.json</groupId>
323       <artifactId>json</artifactId>
324       <version>${json.version}</version>
325     </dependency>
326     <dependency>
327       <groupId>com.google.guava</groupId>
328       <artifactId>guava</artifactId>
329       <version>${guava.version}</version>
330     </dependency>
331     <!-- REST API RELATED -->
332     <dependency>
333       <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
334       <artifactId>dmaap-client</artifactId>
335       <version>${sdk.version}</version>
336       <exclusions>
337         <exclusion>
338           <groupId>ch.qos.logback</groupId>
339           <artifactId>logback-classic</artifactId>
340         </exclusion>
341       </exclusions>
342     </dependency>
343     <dependency>
344       <groupId>io.projectreactor</groupId>
345       <artifactId>reactor-test</artifactId>
346       <version>${reactor-test.version}</version>
347       <scope>test</scope>
348     </dependency>
349     <dependency>
350       <groupId>org.testcontainers</groupId>
351       <artifactId>testcontainers</artifactId>
352       <version>${testcontainers.version}</version>
353     </dependency>
354     <dependency>
355       <groupId>org.testcontainers</groupId>
356       <artifactId>junit-jupiter</artifactId>
357       <version>${junit-jupiter.version}</version>
358     </dependency>
359     <dependency>
360       <groupId>com.mashape.unirest</groupId>
361       <artifactId>unirest-java</artifactId>
362       <version>${unirest-java.version}</version>
363     </dependency>
364     <!-- MISCELLANEOUS -->
365     <dependency>
366       <groupId>commons-collections</groupId>
367       <artifactId>commons-collections</artifactId>
368       <version>${commons-collections.version}</version>
369     </dependency>
370     <dependency>
371       <groupId>commons-configuration</groupId>
372       <artifactId>commons-configuration</artifactId>
373       <version>${commons-configuration.version}</version>
374     </dependency>
375     <dependency>
376       <groupId>io.vavr</groupId>
377       <artifactId>vavr</artifactId>
378       <version>${vavr.version}</version>
379     </dependency>
380     <dependency>
381       <groupId>org.springframework.boot</groupId>
382       <artifactId>spring-boot-starter-web</artifactId>
383       <exclusions>
384         <exclusion>
385           <groupId>org.springframework.boot</groupId>
386           <artifactId>spring-boot-starter-logging</artifactId>
387         </exclusion>
388       </exclusions>
389     </dependency>
390     <dependency>
391       <groupId>org.springframework.boot</groupId>
392       <artifactId>spring-boot-starter-log4j2</artifactId>
393       <version>${spring-boot-starter-log4j2.version}</version>
394     </dependency>
395     <dependency>
396       <groupId>io.springfox</groupId>
397       <artifactId>springfox-swagger2</artifactId>
398       <version>${springfox-swagger2.version}</version>
399     </dependency>
400     <dependency>
401       <groupId>io.springfox</groupId>
402       <artifactId>springfox-swagger-ui</artifactId>
403       <version>${springfox-swagger2.version}</version>
404       <scope>compile</scope>
405     </dependency>
406     <dependency>
407       <groupId>org.mock-server</groupId>
408       <artifactId>mockserver-junit-jupiter</artifactId>
409       <version>${mock-server.version}</version>
410       <scope>test</scope>
411     </dependency>
412     <dependency>
413       <groupId>org.assertj</groupId>
414       <artifactId>assertj-core</artifactId>
415       <version>${assertj-core.version}</version>
416       <scope>test</scope>
417     </dependency>
418     <dependency>
419       <groupId>org.springframework.boot</groupId>
420       <artifactId>spring-boot-starter-test</artifactId>
421       <version>${spring-boot-starter-test.version}</version>
422       <scope>test</scope>
423       <exclusions>
424         <exclusion>
425           <groupId>com.vaadin.external.google</groupId>
426           <artifactId>android-json</artifactId>
427         </exclusion>
428       </exclusions>
429     </dependency>
430     <dependency>
431       <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>
432       <artifactId>crypt-password</artifactId>
433       <classifier>slim</classifier>
434       <version>${sdk.version}</version>
435     </dependency>
436     <dependency>
437       <groupId>org.onap.dcaegen2.services.sdk</groupId>
438       <artifactId>dcaegen2-services-sdk-services-external-schema-manager</artifactId>
439       <version>${sdk.version}</version>
440     </dependency>
441     <dependency>
442       <groupId>org.springframework.security</groupId>
443       <artifactId>spring-security-crypto</artifactId>
444     </dependency>
445     <dependency>
446       <groupId>org.onap.dcaegen2.services.sdk.standardization</groupId>
447       <artifactId>api-custom-header</artifactId>
448       <version>${sdk.version}</version>
449     </dependency>
450     <dependency>
451       <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
452       <artifactId>cbs-client</artifactId>
453       <version>${sdk.version}</version>
454     </dependency>
455   </dependencies>
456   <repositories>
457     <repository>
458       <id>external-repository</id>
459       <url>https://oss.sonatype.org/content/repositories</url>
460     </repository>
461   </repositories>
462   <pluginRepositories>
463     <!-- Black Duck plugin dependencies -->
464     <pluginRepository>
465       <id>JCenter</id>
466       <name>JCenter Repository</name>
467       <url>http://jcenter.bintray.com</url>
468     </pluginRepository>
469     <pluginRepository>
470       <id>Restlet</id>
471       <name>Restlet Repository</name>
472       <url>http://maven.restlet.com</url>
473     </pluginRepository>
474   </pluginRepositories>
475 </project>