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