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