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