blob: ce3abf3b2cb028f347911cddd42b7dfcc7f320bb [file] [log] [blame]
elinuxhenrik93c5a6a2022-04-04 15:47:19 +02001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3* ========================LICENSE_START=================================
4* O-RAN-SC
5* %%
6* Copyright (C) 2019 Nordix Foundation
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<project
22 xmlns="http://maven.apache.org/POM/4.0.0"
23 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
24 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
25 <modelVersion>4.0.0</modelVersion>
26 <parent>
27 <groupId>org.springframework.boot</groupId>
28 <artifactId>spring-boot-starter-parent</artifactId>
29 <version>2.6.6</version>
30 <relativePath />
31 </parent>
32 <groupId>org.o-ran-sc.nonrtric</groupId>
33 <artifactId>nonrtric-plt-informationcoordinatorservice</artifactId>
34 <version>1.3.0-SNAPSHOT</version>
35 <licenses>
36 <license>
37 <name>The Apache Software License, Version 2.0</name>
38 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
39 </license>
40 </licenses>
41 <repositories>
42 <repository>
43 <id>onap-releases</id>
44 <name>onap-releases</name>
45 <url>https://nexus.onap.org/content/repositories/releases/</url>
46 </repository>
47 </repositories>
48 <properties>
49 <java.version>11</java.version>
50 <springfox.version>3.0.0</springfox.version>
51 <immutable.version>2.8.2</immutable.version>
52 <swagger.version>2.1.13</swagger.version>
53 <json.version>20211205</json.version>
54 <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
55 <formatter-maven-plugin.version>2.12.2</formatter-maven-plugin.version>
56 <spotless-maven-plugin.version>1.24.3</spotless-maven-plugin.version>
57 <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version>
58 <docker-maven-plugin>0.30.0</docker-maven-plugin>
59 <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
60 <jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version>
61 <exec.skip>true</exec.skip>
62 </properties>
63 <dependencies>
64 <dependency>
65 <groupId>org.springdoc</groupId>
66 <artifactId>springdoc-openapi-ui</artifactId>
67 <version>1.6.6</version>
68 </dependency>
69 <dependency>
70 <groupId>org.springframework.boot</groupId>
71 <artifactId>spring-boot-starter-web</artifactId>
72 </dependency>
73 <dependency>
74 <groupId>org.springframework.boot</groupId>
75 <artifactId>spring-boot-starter-thymeleaf</artifactId>
76 </dependency>
77 <dependency>
78 <groupId>org.springframework.boot</groupId>
79 <artifactId>spring-boot-starter-webflux</artifactId>
80 </dependency>
81 <dependency>
82 <groupId>org.springframework</groupId>
83 <artifactId>spring-webflux</artifactId>
84 </dependency>
85 <dependency>
86 <groupId>io.swagger.core.v3</groupId>
87 <artifactId>swagger-jaxrs2</artifactId>
88 <version>${swagger.version}</version>
89 </dependency>
90 <dependency>
91 <groupId>io.swagger.core.v3</groupId>
92 <artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
93 <version>${swagger.version}</version>
94 </dependency>
95 <dependency>
96 <groupId>org.immutables</groupId>
97 <artifactId>value</artifactId>
98 <version>${immutable.version}</version>
99 <scope>provided</scope>
100 </dependency>
101 <dependency>
102 <groupId>org.immutables</groupId>
103 <artifactId>gson</artifactId>
104 <version>${immutable.version}</version>
105 </dependency>
106 <dependency>
107 <groupId>org.json</groupId>
108 <artifactId>json</artifactId>
109 <version>${json.version}</version>
110 </dependency>
111 <dependency>
112 <groupId>org.projectlombok</groupId>
113 <artifactId>lombok</artifactId>
114 <scope>provided</scope>
115 </dependency>
116 <!-- https://mvnrepository.com/artifact/com.github.erosb/everit-json-schema -->
117 <dependency>
118 <groupId>com.github.erosb</groupId>
119 <artifactId>everit-json-schema</artifactId>
120 <version>1.12.1</version>
121 </dependency>
122 <!-- Actuator dependencies -->
123 <dependency>
124 <groupId>org.springframework.boot</groupId>
125 <artifactId>spring-boot-starter-actuator</artifactId>
126 </dependency>
127 <!--REQUIRED TO GENERATE DOCUMENTATION -->
128 <dependency>
129 <groupId>io.springfox</groupId>
130 <artifactId>springfox-swagger2</artifactId>
131 <version>${springfox.version}</version>
132 </dependency>
133 <dependency>
134 <groupId>io.springfox</groupId>
135 <artifactId>springfox-swagger-ui</artifactId>
136 <version>${springfox.version}</version>
137 </dependency>
138 <!-- For development help -->
139 <dependency>
140 <groupId>org.springframework.boot</groupId>
141 <artifactId>spring-boot-devtools</artifactId>
142 <optional>true</optional>
143 </dependency>
144 <dependency>
145 <groupId>org.springframework.boot</groupId>
146 <artifactId>spring-boot-configuration-processor</artifactId>
147 <optional>true</optional>
148 </dependency>
149 <!-- TEST -->
150 <dependency>
151 <groupId>org.springframework.boot</groupId>
152 <artifactId>spring-boot-starter-test</artifactId>
153 <scope>test</scope>
154 </dependency>
155 <dependency>
156 <groupId>org.awaitility</groupId>
157 <artifactId>awaitility</artifactId>
158 <scope>test</scope>
159 </dependency>
160 <dependency>
161 <groupId>io.projectreactor</groupId>
162 <artifactId>reactor-test</artifactId>
163 <scope>test</scope>
164 </dependency>
165 <dependency>
166 <groupId>org.junit.jupiter</groupId>
167 <artifactId>junit-jupiter-engine</artifactId>
168 <scope>test</scope>
169 </dependency>
170 <dependency>
171 <groupId>org.mockito</groupId>
172 <artifactId>mockito-junit-jupiter</artifactId>
173 <scope>test</scope>
174 </dependency>
175 <dependency>
176 <groupId>org.mockito</groupId>
177 <artifactId>mockito-core</artifactId>
178 <scope>test</scope>
179 </dependency>
180 <dependency>
181 <groupId>com.squareup.okhttp3</groupId>
182 <artifactId>mockwebserver</artifactId>
183 <scope>test</scope>
184 </dependency>
185 </dependencies>
186 <build>
187 <plugins>
188 <plugin>
189 <groupId>org.springframework.boot</groupId>
190 <artifactId>spring-boot-maven-plugin</artifactId>
191 </plugin>
192 <plugin>
193 <groupId>net.revelc.code.formatter</groupId>
194 <artifactId>formatter-maven-plugin</artifactId>
195 <version>${formatter-maven-plugin.version}</version>
196 <configuration>
197 <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
198 </configuration>
199 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
200 spotless:apply process-sources -->
201 </plugin>
202 <plugin>
203 <groupId>com.diffplug.spotless</groupId>
204 <artifactId>spotless-maven-plugin</artifactId>
205 <version>${spotless-maven-plugin.version}</version>
206 <configuration>
207 <java>
208 <removeUnusedImports />
209 <importOrder>
210 <order>com,java,org</order>
211 </importOrder>
212 </java>
213 </configuration>
214 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
215 mvn spotless:apply to rewrite source files use mvn spotless:check to validate
216 source files -->
217 </plugin>
218 <plugin>
219 <groupId>org.apache.maven.plugins</groupId>
220 <artifactId>maven-surefire-plugin</artifactId>
221 <configuration>
222 <skipTests>false</skipTests>
223 </configuration>
224 </plugin>
225 <plugin>
226 <artifactId>maven-failsafe-plugin</artifactId>
227 </plugin>
228 <plugin>
229 <groupId>org.codehaus.mojo</groupId>
230 <artifactId>build-helper-maven-plugin</artifactId>
231 <executions>
232 <execution>
233 <id>add-source</id>
234 <phase>generate-sources</phase>
235 <goals>
236 <goal>add-source</goal>
237 </goals>
238 <configuration>
239 <sources>
240 <source>${project.build.directory}/generated-sources/annotations/</source>
241 </sources>
242 </configuration>
243 </execution>
244 </executions>
245 </plugin>
246 <plugin>
247 <groupId>org.jacoco</groupId>
248 <artifactId>jacoco-maven-plugin</artifactId>
249 <version>${jacoco-maven-plugin.version}</version>
250 <executions>
251 <execution>
252 <id>default-prepare-agent</id>
253 <goals>
254 <goal>prepare-agent</goal>
255 </goals>
256 </execution>
257 <execution>
258 <id>default-report</id>
259 <phase>prepare-package</phase>
260 <goals>
261 <goal>report</goal>
262 </goals>
263 </execution>
264 </executions>
265 </plugin>
266 <plugin>
267 <groupId>io.swagger.codegen.v3</groupId>
268 <artifactId>swagger-codegen-maven-plugin</artifactId>
269 <version>${swagger-codegen-maven-plugin.version}</version>
270 <executions>
271 <execution>
272 <phase>test</phase>
273 <goals>
274 <goal>generate</goal>
275 </goals>
276 <configuration>
277 <inputSpec>${project.basedir}/api/ics-api.json</inputSpec>
278 <language>openapi-yaml</language>
279 <output>${project.basedir}/api</output>
280 <configOptions>
281 <outputFile>ics-api.yaml</outputFile>
282 </configOptions>
283 </configuration>
284 </execution>
285 </executions>
286 </plugin>
287 <plugin>
288 <groupId>io.fabric8</groupId>
289 <artifactId>docker-maven-plugin</artifactId>
290 <version>${docker-maven-plugin}</version>
291 <inherited>false</inherited>
292 <executions>
293 <execution>
294 <id>generate-nonrtric-plt-informationcoordinatorservice-image</id>
295 <phase>package</phase>
296 <goals>
297 <goal>build</goal>
298 </goals>
299 <configuration>
300 <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
301 <images>
302 <image>
303 <name>o-ran-sc/nonrtric-plt-informationcoordinatorservice:${project.version}</name>
304 <build>
305 <cleanup>try</cleanup>
306 <contextDir>${basedir}</contextDir>
307 <dockerFile>Dockerfile</dockerFile>
308 <args>
309 <JAR>${project.build.finalName}.jar</JAR>
310 </args>
311 <tags>
312 <tag>${project.version}</tag>
313 </tags>
314 </build>
315 </image>
316 </images>
317 </configuration>
318 </execution>
319 <execution>
320 <id>push-nonrtric-plt-informationcoordinatorservice-image</id>
321 <goals>
322 <goal>build</goal>
323 <goal>push</goal>
324 </goals>
325 <configuration>
326 <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
327 <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
328 <images>
329 <image>
330 <name>o-ran-sc/nonrtric-plt-informationcoordinatorservice:${project.version}</name>
331 <build>
332 <contextDir>${basedir}</contextDir>
333 <dockerFile>Dockerfile</dockerFile>
334 <args>
335 <JAR>${project.build.finalName}.jar</JAR>
336 </args>
337 <tags>
338 <tag>${project.version}</tag>
339 <tag>latest</tag>
340 </tags>
341 </build>
342 </image>
343 </images>
344 </configuration>
345 </execution>
346 </executions>
347 </plugin>
348 </plugins>
349 </build>
350 <issueManagement>
351 <system>JIRA</system>
352 <url>https://jira.o-ran-sc.org/</url>
353 </issueManagement>
354</project>