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