[DCAEGEN2] Vulnerability addressal for TCAgen2
[dcaegen2/analytics/tca-gen2.git] / dcae-analytics / dcae-analytics-tca-web / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ============LICENSE_START=======================================================
4   ~ TCAgen2
5   ~ ================================================================================
6   ~ Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
7   ~ Copyright (c) 2019 IBM.
8   ~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
9   ~ Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
10   ~ Copyright (c) 2021-2022 Wipro Limited.
11   ~ ================================================================================
12   ~ Licensed under the Apache License, Version 2.0 (the "License");
13   ~ you may not use this file except in compliance with the License.
14   ~ You may obtain a copy of the License at
15   ~
16   ~      http://www.apache.org/licenses/LICENSE-2.0
17   ~
18   ~ Unless required by applicable law or agreed to in writing, software
19   ~ distributed under the License is distributed on an "AS IS" BASIS,
20   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21   ~ See the License for the specific language governing permissions and
22   ~ limitations under the License.
23   ~ ============LICENSE_END=========================================================
24   ~
25   -->
26
27 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
28          xmlns="http://maven.apache.org/POM/4.0.0"
29          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
30
31     <modelVersion>4.0.0</modelVersion>
32
33     <parent>
34         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
35         <artifactId>dcae-analytics</artifactId>
36         <version>${revision}</version>
37     </parent>
38
39     <artifactId>dcae-analytics-tca-web</artifactId>
40     <packaging>jar</packaging>
41
42     <!-- THE MODULE CONTAINS WEB RELATED CODE FOR TCA -->
43     <name>DCAE Analytics TCA Web</name>
44     <description>Contains Web related code for TCA</description>
45
46     <properties>
47             <main.basedir>${project.parent.basedir}</main.basedir>
48             <undertow-core.version>2.2.14.Final</undertow-core.version>
49             <docker.image.name>onap/${project.groupId}.${project.artifactId}</docker.image.name>
50     <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
51     </properties>
52
53     <dependencies>
54
55         <!-- PROJECT DEPENDENCIES -->
56         <dependency>
57             <groupId>${project.groupId}</groupId>
58             <artifactId>dcae-analytics-web</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>${project.groupId}</groupId>
62             <artifactId>dcae-analytics-tca-core</artifactId>
63         </dependency>
64
65
66         <!-- SPRING DEPENDENCIES -->
67         <dependency>
68             <groupId>org.springframework.boot</groupId>
69             <artifactId>spring-boot-starter-actuator</artifactId>
70             <exclusions>
71                 <exclusion>
72                     <groupId>io.undertow</groupId>
73                     <artifactId>undertow-core</artifactId>
74               </exclusion>
75             </exclusions>
76         </dependency>
77         <dependency>
78             <groupId>io.micrometer</groupId>
79             <artifactId>micrometer-registry-prometheus</artifactId>
80         </dependency>
81
82
83         <!-- SPRING CONFIGURATION META DATA ANNOTATION PROCESSOR -->
84         <dependency>
85             <groupId>org.springframework.boot</groupId>
86             <artifactId>spring-boot-configuration-processor</artifactId>
87             <optional>true</optional>
88         </dependency>
89
90         <!-- CODE GENERATION -->
91         <dependency>
92             <groupId>org.projectlombok</groupId>
93             <artifactId>lombok</artifactId>
94             <scope>provided</scope>
95         </dependency>
96
97         <!-- FIND BUGS -->
98         <dependency>
99             <groupId>com.google.code.findbugs</groupId>
100             <artifactId>jsr305</artifactId>
101         </dependency>
102         <dependency>
103             <groupId>com.google.code.findbugs</groupId>
104             <artifactId>annotations</artifactId>
105         </dependency>
106
107         <!-- REST API SWAGGER -->
108         <dependency>
109             <groupId>io.springfox</groupId>
110             <artifactId>springfox-swagger2</artifactId>
111         </dependency>
112         <dependency>
113             <groupId>org.springframework.plugin</groupId>
114             <artifactId>spring-plugin-core</artifactId>
115         </dependency>
116         <dependency>
117             <groupId>io.springfox</groupId>
118             <artifactId>springfox-swagger-ui</artifactId>
119         </dependency>
120
121         <!-- TEST DEPENDENCIES -->
122         <dependency>
123             <groupId>${project.groupId}</groupId>
124             <artifactId>dcae-analytics-test</artifactId>
125         </dependency>
126         <!-- https://mvnrepository.com/artifact/io.undertow/undertow-core -->
127         <dependency>
128             <groupId>io.undertow</groupId>
129             <artifactId>undertow-core</artifactId>
130             <version>${undertow-core.version}</version>
131         </dependency>
132
133     </dependencies>
134
135     <build>
136         <resources>
137             <resource>
138                 <directory>${project.basedir}/src/main/resources</directory>
139             </resource>
140             <resource>
141                 <directory>${project.build.directory}/git</directory>
142             </resource>
143         </resources>
144
145         <plugins>
146             <plugin>
147                 <groupId>pl.project13.maven</groupId>
148                 <artifactId>git-commit-id-plugin</artifactId>
149             </plugin>
150             <plugin>
151                 <groupId>org.springframework.boot</groupId>
152                 <artifactId>spring-boot-maven-plugin</artifactId>
153             </plugin>
154             <!-- DOCKER PLUGIN -->
155             <plugin>
156                <groupId>com.spotify</groupId>
157                <artifactId>dockerfile-maven-plugin</artifactId>
158                <version>1.4.10</version>
159                  <configuration>
160                   <contextDirectory>${project.basedir}</contextDirectory>
161                   <repository>${docker.repository}/${docker.image.name}</repository>
162                   <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
163                <buildArgs>
164                  <PROJECT_BUILD_DIR_NAME>target</PROJECT_BUILD_DIR_NAME>
165                  <DEPENDENCIES_DIR>${dependency.dir.name}</DEPENDENCIES_DIR>
166                  <DOCKER_ARTIFACT_DIR>/opt</DOCKER_ARTIFACT_DIR>
167                  <FINAL_JAR>${project.build.finalName}.jar</FINAL_JAR>
168                </buildArgs>
169              </configuration>
170              <executions>
171             <execution>
172                 <id>build-image</id>
173                 <phase>install</phase>
174                 <goals>
175                     <goal>build</goal>
176                 </goals>
177             </execution>
178             <execution>
179                    <id>tag-version</id>
180                    <phase>install</phase>
181                    <goals>
182                         <goal>tag</goal>
183                         <goal>push</goal>
184                    </goals>
185                         <configuration>
186                               <tag>${project.version}</tag>
187                         </configuration>
188                   </execution>
189                         <execution>
190                                <id>tag-version-ts</id>
191                                <phase>install</phase>
192                                <goals>
193                                    <goal>tag</goal>
194                                    <goal>push</goal>
195                                </goals>
196                                 <configuration>
197                               <tag>${project.version}-${maven.build.timestamp}Z</tag>
198                                 </configuration>
199                         </execution>
200             </executions>
201            </plugin>
202         </plugins>
203     </build>
204 </project>