Merge "Part 1: Refactor CPS Delta code to utility class"
[cps.git] / cps-application / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   Copyright (c) 2021 Pantheon.tech.
5   Modifications Copyright (C) 2021 Bell Canada.
6   Modifications Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved.
7   Modifications Copyright (C) 2022 Deutsche Telekom AG
8   ================================================================================
9   Licensed under the Apache License, Version 2.0 (the "License");
10   you may not use this file except in compliance with the License.
11   You may obtain a copy of the License at
12
13         http://www.apache.org/licenses/LICENSE-2.0
14
15   Unless required by applicable law or agreed to in writing, software
16   distributed under the License is distributed on an "AS IS" BASIS,
17   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   See the License for the specific language governing permissions and
19   limitations under the License.
20   ============LICENSE_END=========================================================
21 -->
22
23 <project xmlns="http://maven.apache.org/POM/4.0.0"
24          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
26     <modelVersion>4.0.0</modelVersion>
27
28     <parent>
29         <groupId>org.onap.cps</groupId>
30         <artifactId>cps-parent</artifactId>
31         <version>3.7.0-SNAPSHOT</version>
32         <relativePath>../cps-parent/pom.xml</relativePath>
33     </parent>
34
35     <artifactId>cps-application</artifactId>
36
37     <properties>
38         <app>org.onap.cps.Application</app>
39         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
40         <base.image>${docker.pull.registry}/onap/integration-java17:12.0.0</base.image>
41         <image.tag>${project.version}-${maven.build.timestamp}</image.tag>
42     </properties>
43
44     <dependencies>
45         <dependency>
46             <groupId>org.springframework.boot</groupId>
47             <artifactId>spring-boot-starter-web</artifactId>
48             <exclusions>
49                 <exclusion>
50                     <groupId>org.springframework.boot</groupId>
51                     <artifactId>spring-boot-starter-tomcat</artifactId>
52                 </exclusion>
53             </exclusions>
54         </dependency>
55         <dependency>
56             <groupId>org.springframework.boot</groupId>
57             <artifactId>spring-boot-starter-jetty</artifactId>
58         </dependency>
59         <dependency>
60             <groupId>org.springframework.boot</groupId>
61             <artifactId>spring-boot-starter-actuator</artifactId>
62         </dependency>
63         <dependency>
64             <groupId>org.springdoc</groupId>
65             <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
66         </dependency>
67         <dependency>
68             <groupId>org.eclipse.jetty</groupId>
69             <artifactId>jetty-server</artifactId>
70         </dependency>
71         <dependency>
72             <groupId>io.micrometer</groupId>
73             <artifactId>micrometer-registry-prometheus</artifactId>
74         </dependency>
75         <dependency>
76             <groupId>io.micrometer</groupId>
77             <artifactId>micrometer-tracing-bridge-otel</artifactId>
78         </dependency>
79         <dependency>
80             <groupId>io.github.mweirauch</groupId>
81             <artifactId>micrometer-jvm-extras</artifactId>
82         </dependency>
83         <dependency>
84             <groupId>com.fasterxml.jackson.dataformat</groupId>
85             <artifactId>jackson-dataformat-xml</artifactId>
86         </dependency>
87
88         <!-- T E S T   D E P E N D E N C I E S -->
89         <dependency>
90             <groupId>org.codehaus.groovy</groupId>
91             <artifactId>groovy</artifactId>
92             <scope>test</scope>
93         </dependency>
94         <dependency>
95             <groupId>org.spockframework</groupId>
96             <artifactId>spock-core</artifactId>
97             <scope>test</scope>
98         </dependency>
99         <dependency>
100             <groupId>org.spockframework</groupId>
101             <artifactId>spock-spring</artifactId>
102             <scope>test</scope>
103         </dependency>
104         <dependency>
105             <groupId>cglib</groupId>
106             <artifactId>cglib-nodep</artifactId>
107             <scope>test</scope>
108         </dependency>
109         <dependency>
110             <groupId>com.tngtech.archunit</groupId>
111             <artifactId>archunit-junit5</artifactId>
112             <scope>test</scope>
113         </dependency>
114         <dependency>
115             <groupId>org.springframework.boot</groupId>
116             <artifactId>spring-boot-starter-test</artifactId>
117             <scope>test</scope>
118         </dependency>
119
120     </dependencies>
121
122     <build>
123         <pluginManagement>
124             <plugins>
125                 <plugin>
126                     <groupId>com.google.cloud.tools</groupId>
127                     <artifactId>jib-maven-plugin</artifactId>
128                     <version>3.3.2</version>
129                     <configuration>
130                         <container>
131                             <mainClass>${app}</mainClass>
132                             <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
133                         </container>
134                         <from>
135                             <image>${base.image}</image>
136                         </from>
137                         <to>
138                             <tags>
139                                 <tag>latest</tag>
140                             </tags>
141                             <image>${docker.push.registry}/onap/${image.name}:${image.tag}</image>
142                         </to>
143                     </configuration>
144                     <executions>
145                         <execution>
146                             <phase>package</phase>
147                             <id>build</id>
148                             <goals>
149                                 <goal>dockerBuild</goal>
150                             </goals>
151                         </execution>
152                         <execution>
153                             <phase>deploy</phase>
154                             <id>buildAndPush</id>
155                             <goals>
156                                 <goal>build</goal>
157                             </goals>
158                         </execution>
159                     </executions>
160                 </plugin>
161             </plugins>
162         </pluginManagement>
163         <plugins>
164             <plugin>
165                 <groupId>org.springframework.boot</groupId>
166                 <artifactId>spring-boot-maven-plugin</artifactId>
167                 <executions>
168                     <execution>
169                         <goals>
170                             <goal>repackage</goal>
171                         </goals>
172                         <configuration>
173                             <classifier>springboot</classifier>
174                         </configuration>
175                     </execution>
176                 </executions>
177             </plugin>
178             <plugin>
179                 <groupId>io.github.git-commit-id</groupId>
180                 <artifactId>git-commit-id-maven-plugin</artifactId>
181                 <executions>
182                     <execution>
183                         <id>get-git-info</id>
184                         <goals>
185                             <goal>revision</goal>
186                         </goals>
187                         <phase>validate</phase>
188                     </execution>
189                 </executions>
190                 <configuration>
191                     <dateFormat>yyyy-MM-dd'T'HH:mm:ss.sss'Z'</dateFormat>
192                     <includeOnlyProperties>
193                         <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty>
194                         <includeOnlyProperty>^git.commit.(id.full|message.short|user.name|user.email)$</includeOnlyProperty>
195                         <includeOnlyProperty>^git.branch</includeOnlyProperty>
196                     </includeOnlyProperties>
197                     <generateGitPropertiesFile>true</generateGitPropertiesFile>
198                     <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
199                     <commitIdGenerationMode>full</commitIdGenerationMode>
200                 </configuration>
201             </plugin>
202         </plugins>
203     </build>
204     <profiles>
205         <profile>
206             <id>cps-docker</id>
207             <activation>
208                 <activeByDefault>false</activeByDefault>
209             </activation>
210
211             <properties>
212                 <image.name>cps-service</image.name>
213             </properties>
214             <dependencies>
215                 <dependency>
216                     <groupId>${project.groupId}</groupId>
217                     <artifactId>cps-rest</artifactId>
218                 </dependency>
219                 <dependency>
220                     <groupId>${project.groupId}</groupId>
221                     <artifactId>cps-ri</artifactId>
222                 </dependency>
223             </dependencies>
224             <build>
225                 <plugins>
226                     <plugin>
227                         <groupId>com.google.cloud.tools</groupId>
228                         <artifactId>jib-maven-plugin</artifactId>
229                     </plugin>
230                 </plugins>
231             </build>
232         </profile>
233         <profile>
234             <id>ncmp-docker</id>
235             <activation>
236                 <activeByDefault>false</activeByDefault>
237             </activation>
238
239             <properties>
240                 <image.name>cps-ncmp</image.name>
241             </properties>
242
243             <dependencies>
244                 <dependency>
245                     <groupId>${project.groupId}</groupId>
246                     <artifactId>cps-ncmp-rest</artifactId>
247                     <version>${project.version}</version>
248                 </dependency>
249                 <dependency>
250                     <groupId>${project.groupId}</groupId>
251                     <artifactId>cps-ri</artifactId>
252                 </dependency>
253             </dependencies>
254             <build>
255                 <plugins>
256                     <plugin>
257                         <groupId>com.google.cloud.tools</groupId>
258                         <artifactId>jib-maven-plugin</artifactId>
259                     </plugin>
260                 </plugins>
261             </build>
262         </profile>
263         <profile>
264             <id>cps-ncmp-docker</id>
265             <activation>
266                 <activeByDefault>true</activeByDefault>
267             </activation>
268
269             <properties>
270                 <image.name>cps-and-ncmp</image.name>
271             </properties>
272
273             <dependencies>
274                 <dependency>
275                     <groupId>${project.groupId}</groupId>
276                     <artifactId>cps-rest</artifactId>
277                 </dependency>
278                 <dependency>
279                     <groupId>${project.groupId}</groupId>
280                     <artifactId>cps-ncmp-rest</artifactId>
281                     <version>${project.version}</version>
282                 </dependency>
283                 <dependency>
284                     <groupId>${project.groupId}</groupId>
285                     <artifactId>cps-ri</artifactId>
286                 </dependency>
287             </dependencies>
288             <build>
289                 <plugins>
290                     <plugin>
291                         <groupId>com.google.cloud.tools</groupId>
292                         <artifactId>jib-maven-plugin</artifactId>
293                         <version>3.3.2</version>
294                     </plugin>
295                 </plugins>
296             </build>
297         </profile>
298     </profiles>
299 </project>