3 ================================================================================
4 Copyright (c) 2017-2019,2021 AT&T Intellectual Property. All rights reserved.
5 Copyright (c) 2020-2022 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=========================================================
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>
20 <groupId>org.onap.oparent</groupId>
21 <artifactId>oparent</artifactId>
22 <version>3.2.0</version>
25 <groupId>org.onap.dcaegen2.collectors.ves</groupId>
26 <artifactId>VESCollector</artifactId>
27 <version>1.10.3-SNAPSHOT</version>
28 <name>dcaegen2-collectors-ves</name>
29 <description>VESCollector</description>
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.6.1</spring-boot-starter-log4j2.version>
69 <log4j.version>2.17.1</log4j.version>
70 <springfox-swagger2.version>3.0.0</springfox-swagger2.version>
71 <assertj-core.version>3.19.0</assertj-core.version>
72 <spring-boot-starter-test.version>2.2.13.RELEASE</spring-boot-starter-test.version>
73 <sdk.version>1.8.7</sdk.version>
74 <guava.version>30.1-jre</guava.version>
75 <mock-server.version>5.11.1</mock-server.version>
76 <reactor-test.version>3.4.0</reactor-test.version>
77 <testcontainers.version>1.15.1</testcontainers.version>
78 <junit-jupiter.version>1.15.1</junit-jupiter.version>
84 <groupId>org.springframework.boot</groupId>
85 <artifactId>spring-boot-maven-plugin</artifactId>
86 <version>${spring.version}</version>
89 <artifactId>maven-assembly-plugin</artifactId>
90 <version>${maven-assembly-plugin.version}</version>
93 <artifactId>maven-javadoc-plugin</artifactId>
94 <version>${maven-javadoc-plugin.version}</version>
97 <artifactId>maven-project-info-reports-plugin</artifactId>
98 <version>${maven-project-info-reports-plugin.version}</version>
101 <groupId>org.apache.maven.plugins</groupId>
102 <artifactId>maven-surefire-plugin</artifactId>
103 <version>${maven-surefire-plugin.version}</version>
105 <environmentVariables>
106 <TESTCONTAINERS_RYUK_DISABLED>true</TESTCONTAINERS_RYUK_DISABLED>
107 </environmentVariables>
111 <groupId>com.spotify</groupId>
112 <artifactId>docker-maven-plugin</artifactId>
113 <version>${docker-maven-plugin.version}</version>
116 <groupId>org.apache.maven.plugins</groupId>
117 <artifactId>maven-enforcer-plugin</artifactId>
126 <artifactId>maven-assembly-plugin</artifactId>
129 <descriptor>src/assembly/dep.xml</descriptor>
131 <attach>false</attach>
132 <appendAssemblyId>false</appendAssemblyId>
133 <updateOnly>true</updateOnly>
137 <id>make-assembly</id>
138 <phase>package</phase>
146 <groupId>org.springframework.boot</groupId>
147 <artifactId>spring-boot-maven-plugin</artifactId>
151 <goal>repackage</goal>
157 <artifactId>maven-javadoc-plugin</artifactId>
160 <verbose>false</verbose>
161 <useStandardDocletOptions>false</useStandardDocletOptions>
168 <goal>aggregate</goal>
172 <id>attach-javadoc</id>
180 <groupId>com.spotify</groupId>
181 <artifactId>docker-maven-plugin</artifactId>
183 <serverId>${onap.nexus.dockerregistry.daily}</serverId>
184 <imageName>${onap.nexus.dockerregistry.daily}/${docker.image.name}</imageName>
186 <imageTag>${project.version}-${maven.build.timestamp}Z</imageTag>
187 <imageTag>${project.version}</imageTag>
188 <imageTag>latest</imageTag>
190 <baseImage>openjdk:11.0.11-jre-slim</baseImage>
191 <user>vescollector</user>
193 <HOSTALIASES>/etc/host.aliases</HOSTALIASES>
195 <workdir>/opt/app/VESCollector</workdir>
198 <targetPath>.</targetPath>
199 <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory>
203 <run>useradd -r -U vescollector</run>
204 <run>chown -R vescollector:vescollector /opt/app</run>
205 <run>mkdir /opt/app/VESCollector/logs</run>
206 <run>chown -R vescollector:vescollector /opt/app/VESCollector/logs</run>
207 <run>chown -R vescollector:vescollector /opt/app/VESCollector/etc</run>
208 <!-- Maven is loosing file permissions during artifacts copy -->
209 <run>chmod +x bin/*.sh</run>
211 <![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>
214 <expose>8080</expose>
215 <expose>8443</expose>
217 <cmd>bin/docker-entry.sh</cmd>
224 <id>buildForPerfTests</id>
226 <activeByDefault>false</activeByDefault>
229 <!-- Libraries related with performance tests-->
231 <groupId>org.springframework.boot</groupId>
232 <artifactId>spring-boot-starter-actuator</artifactId>
233 <version>${spring.version}</version>
236 <groupId>io.micrometer</groupId>
237 <artifactId>micrometer-registry-prometheus</artifactId>
238 <version>${micrometer.version}</version>
241 <groupId>io.micrometer</groupId>
242 <artifactId>micrometer-core</artifactId>
243 <version>${micrometer.version}</version>
248 <id>with-system-proxy</id>
252 <groupId>com.spotify</groupId>
253 <artifactId>docker-maven-plugin</artifactId>
256 <http_proxy>${env.http_proxy}</http_proxy>
267 <artifactId>maven-project-info-reports-plugin</artifactId>
271 <report>dependencies</report>
272 <report>license</report>
278 <artifactId>maven-javadoc-plugin</artifactId>
280 <failOnError>false</failOnError>
281 <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
283 <groupId>org.umlgraph</groupId>
284 <artifactId>umlgraph</artifactId>
285 <version>5.6</version>
287 <additionalparam>-views</additionalparam>
288 <useStandardDocletOptions>true</useStandardDocletOptions>
293 <dependencyManagement>
296 <!-- Import dependency management from Spring Boot -->
297 <groupId>org.springframework.boot</groupId>
298 <artifactId>spring-boot-dependencies</artifactId>
299 <version>${spring.version}</version>
301 <scope>import</scope>
304 </dependencyManagement>
306 <!-- JSON RELATED -->
308 <groupId>com.networknt</groupId>
309 <artifactId>json-schema-validator</artifactId>
310 <version>${json-schema-validator.version}</version>
313 <groupId>com.fasterxml.jackson.core</groupId>
314 <artifactId>jackson-databind</artifactId>
319 <groupId>com.google.code.gson</groupId>
320 <artifactId>gson</artifactId>
321 <version>${gson.version}</version>
324 <groupId>org.json</groupId>
325 <artifactId>json</artifactId>
326 <version>${json.version}</version>
329 <groupId>com.google.guava</groupId>
330 <artifactId>guava</artifactId>
331 <version>${guava.version}</version>
333 <!-- REST API RELATED -->
335 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
336 <artifactId>dmaap-client</artifactId>
337 <version>${sdk.version}</version>
340 <groupId>ch.qos.logback</groupId>
341 <artifactId>logback-classic</artifactId>
346 <groupId>io.projectreactor</groupId>
347 <artifactId>reactor-test</artifactId>
348 <version>${reactor-test.version}</version>
352 <groupId>org.testcontainers</groupId>
353 <artifactId>testcontainers</artifactId>
354 <version>${testcontainers.version}</version>
357 <groupId>org.testcontainers</groupId>
358 <artifactId>junit-jupiter</artifactId>
359 <version>${junit-jupiter.version}</version>
362 <groupId>com.mashape.unirest</groupId>
363 <artifactId>unirest-java</artifactId>
364 <version>${unirest-java.version}</version>
366 <!-- MISCELLANEOUS -->
368 <groupId>commons-collections</groupId>
369 <artifactId>commons-collections</artifactId>
370 <version>${commons-collections.version}</version>
373 <groupId>commons-configuration</groupId>
374 <artifactId>commons-configuration</artifactId>
375 <version>${commons-configuration.version}</version>
378 <groupId>io.vavr</groupId>
379 <artifactId>vavr</artifactId>
380 <version>${vavr.version}</version>
383 <groupId>org.springframework.boot</groupId>
384 <artifactId>spring-boot-starter-web</artifactId>
387 <groupId>org.springframework.boot</groupId>
388 <artifactId>spring-boot-starter-logging</artifactId>
393 <groupId>org.springframework.boot</groupId>
394 <artifactId>spring-boot-starter-log4j2</artifactId>
395 <version>${spring-boot-starter-log4j2.version}</version>
398 <groupId>org.apache.logging.log4j</groupId>
399 <artifactId>log4j-core</artifactId>
400 <version>${log4j.version}</version>
403 <groupId>org.apache.logging.log4j</groupId>
404 <artifactId>log4j-api</artifactId>
405 <version>${log4j.version}</version>
408 <groupId>io.springfox</groupId>
409 <artifactId>springfox-swagger2</artifactId>
410 <version>${springfox-swagger2.version}</version>
413 <groupId>io.springfox</groupId>
414 <artifactId>springfox-swagger-ui</artifactId>
415 <version>${springfox-swagger2.version}</version>
416 <scope>compile</scope>
419 <groupId>org.mock-server</groupId>
420 <artifactId>mockserver-junit-jupiter</artifactId>
421 <version>${mock-server.version}</version>
425 <groupId>org.assertj</groupId>
426 <artifactId>assertj-core</artifactId>
427 <version>${assertj-core.version}</version>
431 <groupId>org.springframework.boot</groupId>
432 <artifactId>spring-boot-starter-test</artifactId>
433 <version>${spring-boot-starter-test.version}</version>
437 <groupId>com.vaadin.external.google</groupId>
438 <artifactId>android-json</artifactId>
443 <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>
444 <artifactId>crypt-password</artifactId>
445 <classifier>slim</classifier>
446 <version>${sdk.version}</version>
449 <groupId>org.onap.dcaegen2.services.sdk</groupId>
450 <artifactId>dcaegen2-services-sdk-services-external-schema-manager</artifactId>
451 <version>${sdk.version}</version>
454 <groupId>org.springframework.security</groupId>
455 <artifactId>spring-security-crypto</artifactId>
458 <groupId>org.onap.dcaegen2.services.sdk.standardization</groupId>
459 <artifactId>api-custom-header</artifactId>
460 <version>${sdk.version}</version>
463 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
464 <artifactId>cbs-client</artifactId>
465 <version>${sdk.version}</version>
470 <id>external-repository</id>
471 <url>https://oss.sonatype.org/content/repositories</url>
475 <!-- Black Duck plugin dependencies -->
478 <name>JCenter Repository</name>
479 <url>http://jcenter.bintray.com</url>
483 <name>Restlet Repository</name>
484 <url>http://maven.restlet.com</url>
486 </pluginRepositories>