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