11611d158e87087b52d976628865c53462364f6b
[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-2023 Nordix Foundation
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.3.9-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         <minimum-coverage>0.86</minimum-coverage>
41         <base.image>${docker.pull.registry}/onap/integration-java17:12.0.0</base.image>
42         <image.tag>${project.version}-${maven.build.timestamp}</image.tag>
43     </properties>
44
45     <dependencies>
46         <dependency>
47             <groupId>org.springframework.boot</groupId>
48             <artifactId>spring-boot-starter-web</artifactId>
49             <exclusions>
50                 <exclusion>
51                     <groupId>org.springframework.boot</groupId>
52                     <artifactId>spring-boot-starter-tomcat</artifactId>
53                 </exclusion>
54             </exclusions>
55         </dependency>
56         <dependency>
57             <groupId>org.springframework.boot</groupId>
58             <artifactId>spring-boot-starter-jetty</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>org.springframework.boot</groupId>
62             <artifactId>spring-boot-starter-security</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>org.springframework.boot</groupId>
66             <artifactId>spring-boot-starter-actuator</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>io.micrometer</groupId>
70             <artifactId>micrometer-registry-prometheus</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>io.micrometer</groupId>
74             <artifactId>micrometer-tracing-bridge-brave</artifactId>
75         </dependency>
76         <!-- T E S T   D E P E N D E N C I E S -->
77         <dependency>
78             <groupId>org.springframework.security</groupId>
79             <artifactId>spring-security-test</artifactId>
80             <scope>test</scope>
81         </dependency>
82         <dependency>
83             <groupId>org.codehaus.groovy</groupId>
84             <artifactId>groovy</artifactId>
85             <scope>test</scope>
86         </dependency>
87         <dependency>
88             <groupId>org.spockframework</groupId>
89             <artifactId>spock-core</artifactId>
90             <scope>test</scope>
91         </dependency>
92         <dependency>
93             <groupId>org.spockframework</groupId>
94             <artifactId>spock-spring</artifactId>
95             <scope>test</scope>
96         </dependency>
97         <dependency>
98             <groupId>cglib</groupId>
99             <artifactId>cglib-nodep</artifactId>
100             <scope>test</scope>
101         </dependency>
102         <dependency>
103             <groupId>org.springframework.boot</groupId>
104             <artifactId>spring-boot-starter-test</artifactId>
105             <scope>test</scope>
106             <exclusions>
107                 <exclusion>
108                     <groupId>org.junit.vintage</groupId>
109                     <artifactId>junit-vintage-engine</artifactId>
110                 </exclusion>
111             </exclusions>
112         </dependency>
113         <dependency>
114             <groupId>com.tngtech.archunit</groupId>
115             <artifactId>archunit-junit5</artifactId>
116         </dependency>
117         <dependency>
118             <groupId>com.fasterxml.jackson.dataformat</groupId>
119             <artifactId>jackson-dataformat-xml</artifactId>
120         </dependency>
121         <dependency>
122             <groupId>org.eclipse.jetty</groupId>
123             <artifactId>jetty-server</artifactId>
124         </dependency>
125         <dependency>
126             <groupId>org.eclipse.jetty</groupId>
127             <artifactId>jetty-http</artifactId>
128         </dependency>
129         <dependency>
130             <groupId>jakarta.servlet</groupId>
131             <artifactId>jakarta.servlet-api</artifactId>
132         </dependency>
133     </dependencies>
134
135     <build>
136         <pluginManagement>
137             <plugins>
138                 <plugin>
139                     <groupId>com.google.cloud.tools</groupId>
140                     <artifactId>jib-maven-plugin</artifactId>
141                     <version>3.3.2</version>
142                     <configuration>
143                         <container>
144                             <mainClass>${app}</mainClass>
145                             <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
146                         </container>
147                         <from>
148                             <image>${base.image}</image>
149                         </from>
150                         <to>
151                             <tags>
152                                 <tag>latest</tag>
153                             </tags>
154                             <image>${docker.push.registry}/onap/${image.name}:${image.tag}</image>
155                         </to>
156                     </configuration>
157                     <executions>
158                         <execution>
159                             <phase>package</phase>
160                             <id>build</id>
161                             <goals>
162                                 <goal>dockerBuild</goal>
163                             </goals>
164                         </execution>
165                         <execution>
166                             <phase>deploy</phase>
167                             <id>buildAndPush</id>
168                             <goals>
169                                 <goal>build</goal>
170                             </goals>
171                         </execution>
172                     </executions>
173                 </plugin>
174             </plugins>
175         </pluginManagement>
176         <plugins>
177             <plugin>
178                 <groupId>org.springframework.boot</groupId>
179                 <artifactId>spring-boot-maven-plugin</artifactId>
180             </plugin>
181         </plugins>
182     </build>
183     <profiles>
184         <profile>
185             <id>cps-docker</id>
186             <activation>
187                 <activeByDefault>false</activeByDefault>
188             </activation>
189
190             <properties>
191                 <image.name>cps-service</image.name>
192             </properties>
193             <dependencies>
194                 <dependency>
195                     <groupId>${project.groupId}</groupId>
196                     <artifactId>cps-rest</artifactId>
197                 </dependency>
198                 <dependency>
199                     <groupId>${project.groupId}</groupId>
200                     <artifactId>cps-ri</artifactId>
201                 </dependency>
202             </dependencies>
203             <build>
204                 <plugins>
205                     <plugin>
206                         <groupId>com.google.cloud.tools</groupId>
207                         <artifactId>jib-maven-plugin</artifactId>
208                     </plugin>
209                 </plugins>
210             </build>
211         </profile>
212         <profile>
213             <id>ncmp-docker</id>
214             <activation>
215                 <activeByDefault>false</activeByDefault>
216             </activation>
217
218             <properties>
219                 <image.name>cps-ncmp</image.name>
220             </properties>
221
222             <dependencies>
223                 <dependency>
224                     <groupId>${project.groupId}</groupId>
225                     <artifactId>cps-ncmp-rest</artifactId>
226                     <version>${project.version}</version>
227                 </dependency>
228                 <dependency>
229                     <groupId>${project.groupId}</groupId>
230                     <artifactId>cps-ri</artifactId>
231                 </dependency>
232             </dependencies>
233             <build>
234                 <plugins>
235                     <plugin>
236                         <groupId>com.google.cloud.tools</groupId>
237                         <artifactId>jib-maven-plugin</artifactId>
238                     </plugin>
239                 </plugins>
240             </build>
241         </profile>
242         <profile>
243             <id>cps-ncmp-docker</id>
244             <activation>
245                 <activeByDefault>true</activeByDefault>
246             </activation>
247
248             <properties>
249                 <image.name>cps-and-ncmp</image.name>
250             </properties>
251
252             <dependencies>
253                 <dependency>
254                     <groupId>${project.groupId}</groupId>
255                     <artifactId>cps-rest</artifactId>
256                 </dependency>
257                 <dependency>
258                     <groupId>${project.groupId}</groupId>
259                     <artifactId>cps-ncmp-rest</artifactId>
260                     <version>${project.version}</version>
261                 </dependency>
262                 <dependency>
263                     <groupId>${project.groupId}</groupId>
264                     <artifactId>cps-ri</artifactId>
265                 </dependency>
266             </dependencies>
267             <build>
268                 <plugins>
269                     <plugin>
270                         <groupId>com.google.cloud.tools</groupId>
271                         <artifactId>jib-maven-plugin</artifactId>
272                         <version>3.3.2</version>
273                     </plugin>
274                 </plugins>
275             </build>
276         </profile>
277     </profiles>
278 </project>