Release 1.7.4 DCAEGEN2 VESCollector container
[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 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>2.0.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.7.4-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     <crypt-password.version>1.3.5</crypt-password.version>\r
54     <micrometer.version>1.4.2</micrometer.version>\r
55     <spring.version>2.2.2.RELEASE</spring.version>\r
56     <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>\r
57     <maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>\r
58     <maven-project-info-reports-plugin.version>2.9</maven-project-info-reports-plugin.version>\r
59     <maven-surefire-plugin.version>3.0.0-M1</maven-surefire-plugin.version>\r
60     <docker-maven-plugin.version>1.2.0</docker-maven-plugin.version>\r
61     <json-simple.version>1.1.1</json-simple.version>\r
62     <json-schema-validator.version>1.0.29</json-schema-validator.version>\r
63     <gson.version>2.8.5</gson.version>\r
64     <json.version>20160810</json.version>\r
65     <cambriaClient.version>0.0.1</cambriaClient.version>\r
66     <unirest-java.version>1.4.9</unirest-java.version>\r
67     <commons-collections.version>3.2.2</commons-collections.version>\r
68     <commons-configuration.version>1.10</commons-configuration.version>\r
69     <vavr.version>0.9.2</vavr.version>\r
70     <spring-boot-starter-log4j2.version>2.1.5.RELEASE</spring-boot-starter-log4j2.version>\r
71     <springfox-swagger2.version>2.8.0</springfox-swagger2.version>\r
72     <junit-jupiter-api.version>5.3.1</junit-jupiter-api.version>\r
73     <mockito-junit-jupiter.version>2.23.0</mockito-junit-jupiter.version>\r
74     <assertj-core.version>3.8.0</assertj-core.version>\r
75     <jimfs.version>1.1</jimfs.version>\r
76     <wiremock-standalone.version>2.17.0</wiremock-standalone.version>\r
77     <spring-security-test.version>5.1.1.RELEASE</spring-security-test.version>\r
78     <spring-boot-starter-test.version>2.1.0.RELEASE</spring-boot-starter-test.version>\r
79     <api-custom-header.version>1.1.4</api-custom-header.version>\r
80     <functionaljava.version>4.8.1</functionaljava.version>\r
81     <external-schema-manager.version>1.4.3</external-schema-manager.version>\r
82     <sdk.version>1.4.2</sdk.version>\r
83   </properties>\r
84   <build>\r
85     <pluginManagement>\r
86       <plugins>\r
87         <plugin>\r
88           <groupId>org.springframework.boot</groupId>\r
89           <artifactId>spring-boot-maven-plugin</artifactId>\r
90         </plugin>\r
91         <plugin>\r
92           <artifactId>maven-assembly-plugin</artifactId>\r
93           <version>${maven-assembly-plugin.version}</version>\r
94         </plugin>\r
95         <plugin>\r
96           <artifactId>maven-javadoc-plugin</artifactId>\r
97           <version>${maven-javadoc-plugin.version}</version>\r
98         </plugin>\r
99         <plugin>\r
100           <artifactId>maven-project-info-reports-plugin</artifactId>\r
101           <version>${maven-project-info-reports-plugin.version}</version>\r
102         </plugin>\r
103         <plugin>\r
104           <groupId>org.apache.maven.plugins</groupId>\r
105           <artifactId>maven-surefire-plugin</artifactId>\r
106           <version>${maven-surefire-plugin.version}</version>\r
107         </plugin>\r
108         <plugin>\r
109           <groupId>com.spotify</groupId>\r
110           <artifactId>docker-maven-plugin</artifactId>\r
111           <version>${docker-maven-plugin.version}</version>\r
112         </plugin>\r
113         <plugin>\r
114           <groupId>org.apache.maven.plugins</groupId>\r
115           <artifactId>maven-enforcer-plugin</artifactId>\r
116           <configuration>\r
117             <skip>true</skip>\r
118           </configuration>\r
119         </plugin>\r
120       </plugins>\r
121     </pluginManagement>\r
122     <plugins>\r
123       <plugin>\r
124         <artifactId>maven-assembly-plugin</artifactId>\r
125         <configuration>\r
126           <descriptors>\r
127             <descriptor>src/assembly/dep.xml</descriptor>\r
128           </descriptors>\r
129           <attach>false</attach>\r
130           <appendAssemblyId>false</appendAssemblyId>\r
131           <updateOnly>true</updateOnly>\r
132         </configuration>\r
133         <executions>\r
134           <execution>\r
135             <id>make-assembly</id>\r
136             <phase>package</phase>\r
137             <goals>\r
138               <goal>single</goal>\r
139             </goals>\r
140           </execution>\r
141         </executions>\r
142       </plugin>\r
143       <plugin>\r
144         <groupId>org.springframework.boot</groupId>\r
145         <artifactId>spring-boot-maven-plugin</artifactId>\r
146         <executions>\r
147           <execution>\r
148             <goals>\r
149               <goal>repackage</goal>\r
150             </goals>\r
151           </execution>\r
152         </executions>\r
153       </plugin>\r
154       <plugin>\r
155         <artifactId>maven-javadoc-plugin</artifactId>\r
156         <configuration>\r
157           <quiet>true</quiet>\r
158           <verbose>false</verbose>\r
159           <useStandardDocletOptions>false</useStandardDocletOptions>\r
160         </configuration>\r
161         <executions>\r
162           <execution>\r
163             <id>aggregate</id>\r
164             <phase>site</phase>\r
165             <goals>\r
166               <goal>aggregate</goal>\r
167             </goals>\r
168           </execution>\r
169           <execution>\r
170             <id>attach-javadoc</id>\r
171             <goals>\r
172               <goal>jar</goal>\r
173             </goals>\r
174           </execution>\r
175         </executions>\r
176       </plugin>\r
177       <plugin>\r
178         <groupId>com.spotify</groupId>\r
179         <artifactId>docker-maven-plugin</artifactId>\r
180         <configuration>\r
181           <serverId>${onap.nexus.dockerregistry.daily}</serverId>\r
182           <imageName>${onap.nexus.dockerregistry.daily}/${docker.image.name}</imageName>\r
183           <imageTags>\r
184             <imageTag>${project.version}-${maven.build.timestamp}Z</imageTag>\r
185             <imageTag>${project.version}</imageTag>\r
186             <imageTag>latest</imageTag>\r
187           </imageTags>\r
188           <baseImage>openjdk:11-jre-slim</baseImage>\r
189           <user>vescollector</user>\r
190           <env>\r
191             <HOSTALIASES>/etc/host.aliases</HOSTALIASES>\r
192           </env>\r
193           <workdir>/opt/app/VESCollector</workdir>\r
194           <resources>\r
195             <resource>\r
196               <targetPath>.</targetPath>\r
197               <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory>\r
198             </resource>\r
199           </resources>\r
200           <runs>\r
201             <run>useradd -r -U vescollector</run>\r
202             <run>chown -R vescollector:vescollector /opt/app</run>\r
203             <run>mkdir /opt/app/VESCollector/logs</run>\r
204             <run>chown -R vescollector:vescollector /opt/app/VESCollector/logs</run>\r
205             <run>chown -R vescollector:vescollector /opt/app/VESCollector/etc</run>\r
206             <!-- Maven is loosing file permissions during artifacts copy -->\r
207             <run>chmod +x bin/*.sh</run>\r
208             <run>\r
209               <![CDATA[apt-get update && apt-get install -y --no-install-recommends procps && apt-get install -y vim && apt-get install -y curl && apt-get clean all]]></run>\r
210           </runs>\r
211           <exposes>\r
212             <expose>8080</expose>\r
213             <expose>8443</expose>\r
214           </exposes>\r
215           <cmd>bin/docker-entry.sh</cmd>\r
216         </configuration>\r
217       </plugin>\r
218     </plugins>\r
219   </build>\r
220   <profiles>\r
221     <profile>\r
222       <id>buildForPerfTests</id>\r
223       <activation>\r
224         <activeByDefault>false</activeByDefault>\r
225       </activation>\r
226       <dependencies>\r
227         <!-- Libraries related with performance tests-->\r
228         <dependency>\r
229           <groupId>org.springframework.boot</groupId>\r
230           <artifactId>spring-boot-starter-actuator</artifactId>\r
231           <version>${spring.version}</version>\r
232         </dependency>\r
233         <dependency>\r
234           <groupId>io.micrometer</groupId>\r
235           <artifactId>micrometer-registry-prometheus</artifactId>\r
236           <version>${micrometer.version}</version>\r
237         </dependency>\r
238         <dependency>\r
239           <groupId>io.micrometer</groupId>\r
240           <artifactId>micrometer-core</artifactId>\r
241           <version>${micrometer.version}</version>\r
242         </dependency>\r
243       </dependencies>\r
244     </profile>\r
245     <profile>\r
246       <id>with-system-proxy</id>\r
247       <build>\r
248         <plugins>\r
249           <plugin>\r
250             <groupId>com.spotify</groupId>\r
251             <artifactId>docker-maven-plugin</artifactId>\r
252             <configuration>\r
253               <buildArgs>\r
254                 <http_proxy>${env.http_proxy}</http_proxy>\r
255               </buildArgs>\r
256             </configuration>\r
257           </plugin>\r
258         </plugins>\r
259       </build>\r
260     </profile>\r
261   </profiles>\r
262   <reporting>\r
263     <plugins>\r
264       <plugin>\r
265         <artifactId>maven-project-info-reports-plugin</artifactId>\r
266         <reportSets>\r
267           <reportSet>\r
268             <reports>\r
269               <report>dependencies</report>\r
270               <report>license</report>\r
271             </reports>\r
272           </reportSet>\r
273         </reportSets>\r
274       </plugin>\r
275       <plugin>\r
276         <artifactId>maven-javadoc-plugin</artifactId>\r
277         <configuration>\r
278           <failOnError>false</failOnError>\r
279           <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>\r
280           <docletArtifact>\r
281             <groupId>org.umlgraph</groupId>\r
282             <artifactId>umlgraph</artifactId>\r
283             <version>5.6</version>\r
284           </docletArtifact>\r
285           <additionalparam>-views</additionalparam>\r
286           <useStandardDocletOptions>true</useStandardDocletOptions>\r
287         </configuration>\r
288       </plugin>\r
289     </plugins>\r
290   </reporting>\r
291   <dependencyManagement>\r
292     <dependencies>\r
293       <dependency>\r
294         <!-- Import dependency management from Spring Boot -->\r
295         <groupId>org.springframework.boot</groupId>\r
296         <artifactId>spring-boot-dependencies</artifactId>\r
297         <version>${spring.version}</version>\r
298         <type>pom</type>\r
299         <scope>import</scope>\r
300       </dependency>\r
301     </dependencies>\r
302   </dependencyManagement>\r
303   <dependencies>\r
304     <!-- JSON RELATED -->\r
305     <dependency>\r
306       <groupId>com.googlecode.json-simple</groupId>\r
307       <artifactId>json-simple</artifactId>\r
308       <version>${json-simple.version}</version>\r
309     </dependency>\r
310     <dependency>\r
311       <groupId>com.networknt</groupId>\r
312       <artifactId>json-schema-validator</artifactId>\r
313       <version>${json-schema-validator.version}</version>\r
314       <exclusions>\r
315         <exclusion>\r
316           <groupId>com.fasterxml.jackson.core</groupId>\r
317           <artifactId>jackson-databind</artifactId>\r
318         </exclusion>\r
319       </exclusions>\r
320     </dependency>\r
321     <dependency>\r
322       <groupId>com.google.code.gson</groupId>\r
323       <artifactId>gson</artifactId>\r
324       <version>${gson.version}</version>\r
325     </dependency>\r
326     <dependency>\r
327       <groupId>org.json</groupId>\r
328       <artifactId>json</artifactId>\r
329       <version>${json.version}</version>\r
330     </dependency>\r
331     <!-- REST API RELATED -->\r
332     <dependency>\r
333       <groupId>com.att.nsa</groupId>\r
334       <artifactId>cambriaClient</artifactId>\r
335       <version>${cambriaClient.version}</version>\r
336     </dependency>\r
337     <dependency>\r
338       <groupId>com.mashape.unirest</groupId>\r
339       <artifactId>unirest-java</artifactId>\r
340       <version>${unirest-java.version}</version>\r
341     </dependency>\r
342     <!-- MISCELLANEOUS -->\r
343     <dependency>\r
344       <groupId>commons-collections</groupId>\r
345       <artifactId>commons-collections</artifactId>\r
346       <version>${commons-collections.version}</version>\r
347     </dependency>\r
348     <dependency>\r
349       <groupId>commons-configuration</groupId>\r
350       <artifactId>commons-configuration</artifactId>\r
351       <version>${commons-configuration.version}</version>\r
352     </dependency>\r
353     <dependency>\r
354       <groupId>io.vavr</groupId>\r
355       <artifactId>vavr</artifactId>\r
356       <version>${vavr.version}</version>\r
357     </dependency>\r
358     <dependency>\r
359       <groupId>org.springframework.boot</groupId>\r
360       <artifactId>spring-boot-starter-web</artifactId>\r
361       <exclusions>\r
362         <exclusion>\r
363           <groupId>org.springframework.boot</groupId>\r
364           <artifactId>spring-boot-starter-logging</artifactId>\r
365         </exclusion>\r
366       </exclusions>\r
367     </dependency>\r
368     <dependency>\r
369       <groupId>org.springframework.boot</groupId>\r
370       <artifactId>spring-boot-starter-log4j2</artifactId>\r
371       <version>${spring-boot-starter-log4j2.version}</version>\r
372     </dependency>\r
373     <dependency>\r
374       <groupId>io.springfox</groupId>\r
375       <artifactId>springfox-swagger2</artifactId>\r
376       <version>${springfox-swagger2.version}</version>\r
377     </dependency>\r
378     <dependency>\r
379       <groupId>io.springfox</groupId>\r
380       <artifactId>springfox-swagger-ui</artifactId>\r
381       <version>${springfox-swagger2.version}</version>\r
382       <scope>compile</scope>\r
383     </dependency>\r
384     <!-- TESTING -->\r
385     <dependency>\r
386       <groupId>org.junit.jupiter</groupId>\r
387       <artifactId>junit-jupiter-api</artifactId>\r
388       <version>${junit-jupiter-api.version}</version>\r
389       <scope>test</scope>\r
390     </dependency>\r
391     <dependency>\r
392       <groupId>org.junit.jupiter</groupId>\r
393       <artifactId>junit-jupiter-engine</artifactId>\r
394       <version>${junit-jupiter-api.version}</version>\r
395       <scope>test</scope>\r
396     </dependency>\r
397     <dependency>\r
398       <groupId>org.junit.vintage</groupId>\r
399       <artifactId>junit-vintage-engine</artifactId>\r
400       <version>${junit-jupiter-api.version}</version>\r
401       <scope>test</scope>\r
402     </dependency>\r
403     <dependency>\r
404       <groupId>org.mockito</groupId>\r
405       <artifactId>mockito-junit-jupiter</artifactId>\r
406       <version>${mockito-junit-jupiter.version}</version>\r
407       <scope>test</scope>\r
408     </dependency>\r
409     <dependency>\r
410       <groupId>org.assertj</groupId>\r
411       <artifactId>assertj-core</artifactId>\r
412       <version>${assertj-core.version}</version>\r
413       <scope>test</scope>\r
414     </dependency>\r
415     <dependency>\r
416       <groupId>com.google.jimfs</groupId>\r
417       <artifactId>jimfs</artifactId>\r
418       <version>${jimfs.version}</version>\r
419       <scope>test</scope>\r
420     </dependency>\r
421     <dependency>\r
422       <groupId>com.github.tomakehurst</groupId>\r
423       <artifactId>wiremock-standalone</artifactId>\r
424       <version>${wiremock-standalone.version}</version>\r
425       <scope>test</scope>\r
426     </dependency>\r
427     <dependency>\r
428       <groupId>org.springframework.security</groupId>\r
429       <artifactId>spring-security-test</artifactId>\r
430       <version>${spring-security-test.version}</version>\r
431       <scope>test</scope>\r
432     </dependency>\r
433     <dependency>\r
434       <groupId>org.springframework.boot</groupId>\r
435       <artifactId>spring-boot-starter-test</artifactId>\r
436       <version>${spring-boot-starter-test.version}</version>\r
437       <scope>test</scope>\r
438     </dependency>\r
439     <dependency>\r
440       <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>\r
441       <artifactId>crypt-password</artifactId>\r
442       <classifier>slim</classifier>\r
443       <version>${crypt-password.version}</version>\r
444     </dependency>\r
445     <dependency>\r
446       <groupId>org.onap.dcaegen2.services.sdk</groupId>\r
447       <artifactId>dcaegen2-services-sdk-services-external-schema-manager</artifactId>\r
448       <version>${external-schema-manager.version}</version>\r
449     </dependency>\r
450     <dependency>\r
451       <groupId>org.springframework.security</groupId>\r
452       <artifactId>spring-security-crypto</artifactId>\r
453     </dependency>\r
454     <dependency>\r
455       <groupId>org.onap.dcaegen2.services.sdk.standardization</groupId>\r
456       <artifactId>api-custom-header</artifactId>\r
457       <version>${api-custom-header.version}</version>\r
458     </dependency>\r
459     <dependency>\r
460       <groupId>org.functionaljava</groupId>\r
461       <artifactId>functionaljava</artifactId>\r
462       <version>${functionaljava.version}</version>\r
463       <scope>compile</scope>\r
464     </dependency>\r
465     <dependency>\r
466       <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>\r
467       <artifactId>cbs-client</artifactId>\r
468       <version>${sdk.version}</version>\r
469     </dependency>\r
470   </dependencies>\r
471   <repositories>\r
472     <repository>\r
473       <id>external-repository</id>\r
474       <url>https://oss.sonatype.org/content/repositories</url>\r
475     </repository>\r
476   </repositories>\r
477   <pluginRepositories>\r
478     <!-- Black Duck plugin dependencies -->\r
479     <pluginRepository>\r
480       <id>JCenter</id>\r
481       <name>JCenter Repository</name>\r
482       <url>http://jcenter.bintray.com</url>\r
483     </pluginRepository>\r
484     <pluginRepository>\r
485       <id>Restlet</id>\r
486       <name>Restlet Repository</name>\r
487       <url>http://maven.restlet.com</url>\r
488     </pluginRepository>\r
489   </pluginRepositories>\r
490 </project>\r