1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ============LICENSE_START=======================================================
5 ~ ================================================================================
6 ~ Copyright (C) 2020 Nordix Foundation. All rights reserved.
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
12 ~ http://www.apache.org/licenses/LICENSE-2.0
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=======================================================
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23 <modelVersion>4.0.0</modelVersion>
25 <groupId>org.onap.ccsdk.parent</groupId>
26 <artifactId>spring-boot-26-starter-parent</artifactId>
27 <version>2.4.2</version>
30 <groupId>org.onap.ccsdk.oran</groupId>
31 <artifactId>a1-policy-management-service</artifactId>
32 <version>1.4.0-SNAPSHOT</version>
33 <name>ccsdk-oran :: ${project.artifactId}</name>
35 <java.version.source>11</java.version.source>
36 <java.version.target>11</java.version.target>
37 <springfox.version>3.0.0</springfox.version>
38 <gson.version>2.9.0</gson.version>
39 <json.version>20220320</json.version>
40 <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version>
41 <spotless-maven-plugin.version>2.5.0</spotless-maven-plugin.version>
42 <commons-io.version>2.11.0</commons-io.version>
43 <docker-maven-plugin>0.30.0</docker-maven-plugin>
44 <surefire-maven-plugin.version>3.0.0-M5</surefire-maven-plugin.version>
45 <!-- Version must be higher than version 2.19.1 that is defined in the parent pom for JUnit 5 tests to be run. Do not remove! -->
46 <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
47 <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version>
48 <exec.skip>true</exec.skip>
49 <ccsdk.project.version>${project.version}</ccsdk.project.version>
53 <groupId>org.springframework.boot</groupId>
54 <artifactId>spring-boot</artifactId>
57 <groupId>org.springframework</groupId>
58 <artifactId>spring-beans</artifactId>
61 <groupId>org.springframework</groupId>
62 <artifactId>spring-context</artifactId>
65 <groupId>org.springframework.boot</groupId>
66 <artifactId>spring-boot-autoconfigure</artifactId>
69 <groupId>org.springframework</groupId>
70 <artifactId>spring-web</artifactId>
73 <groupId>org.springframework</groupId>
74 <artifactId>spring-webmvc</artifactId>
77 <groupId>org.springframework.boot</groupId>
78 <artifactId>spring-boot-starter-webflux</artifactId>
81 <groupId>org.springframework</groupId>
82 <artifactId>spring-webflux</artifactId>
85 <groupId>io.springfox</groupId>
86 <artifactId>springfox-spring-web</artifactId>
87 <version>${springfox.version}</version>
90 <groupId>io.springfox</groupId>
91 <artifactId>springfox-spi</artifactId>
92 <version>${springfox.version}</version>
95 <groupId>io.springfox</groupId>
96 <artifactId>springfox-core</artifactId>
97 <version>${springfox.version}</version>
100 <groupId>org.aspectj</groupId>
101 <artifactId>aspectjweaver</artifactId>
104 <groupId>com.fasterxml.jackson.core</groupId>
105 <artifactId>jackson-databind</artifactId>
108 <groupId>org.apache.tomcat.embed</groupId>
109 <artifactId>tomcat-embed-core</artifactId>
112 <groupId>javax.validation</groupId>
113 <artifactId>validation-api</artifactId>
116 <groupId>com.google.guava</groupId>
117 <artifactId>guava</artifactId>
120 <groupId>com.google.code.gson</groupId>
121 <artifactId>gson</artifactId>
122 <version>${gson.version}</version>
125 <groupId>org.json</groupId>
126 <artifactId>json</artifactId>
127 <version>${json.version}</version>
130 <groupId>org.projectlombok</groupId>
131 <artifactId>lombok</artifactId>
132 <scope>provided</scope>
134 <!-- Actuator dependencies -->
136 <groupId>org.springframework.boot</groupId>
137 <artifactId>spring-boot-starter-actuator</artifactId>
138 <scope>runtime</scope>
140 <!--REQUIRED TO GENERATE DOCUMENTATION -->
142 <groupId>io.springfox</groupId>
143 <artifactId>springfox-swagger2</artifactId>
144 <version>${springfox.version}</version>
147 <groupId>io.springfox</groupId>
148 <artifactId>springfox-swagger-ui</artifactId>
149 <version>${springfox.version}</version>
150 <scope>runtime</scope>
152 <!-- For development help -->
154 <groupId>org.springframework.boot</groupId>
155 <artifactId>spring-boot-devtools</artifactId>
156 <optional>true</optional>
157 <scope>runtime</scope>
160 <groupId>org.springframework.boot</groupId>
161 <artifactId>spring-boot-configuration-processor</artifactId>
162 <optional>true</optional>
163 <scope>runtime</scope>
167 <groupId>org.springdoc</groupId>
168 <artifactId>springdoc-openapi-ui</artifactId>
169 <version>1.6.6</version>
173 <groupId>org.springframework.boot</groupId>
174 <artifactId>spring-boot-test</artifactId>
178 <groupId>org.springframework.boot</groupId>
179 <artifactId>spring-boot-starter-test</artifactId>
183 <groupId>org.awaitility</groupId>
184 <artifactId>awaitility</artifactId>
188 <groupId>io.projectreactor</groupId>
189 <artifactId>reactor-test</artifactId>
193 <groupId>org.junit.jupiter</groupId>
194 <artifactId>junit-jupiter-engine</artifactId>
198 <groupId>org.mockito</groupId>
199 <artifactId>mockito-junit-jupiter</artifactId>
203 <groupId>org.mockito</groupId>
204 <artifactId>mockito-core</artifactId>
208 <groupId>com.squareup.okhttp3</groupId>
209 <artifactId>mockwebserver</artifactId>
213 <groupId>commons-io</groupId>
214 <artifactId>commons-io</artifactId>
215 <version>${commons-io.version}</version>
218 <!-- https://mvnrepository.com/artifact/com.github.erosb/everit-json-schema -->
220 <groupId>com.github.erosb</groupId>
221 <artifactId>everit-json-schema</artifactId>
222 <version>1.14.0</version>
228 <groupId>org.codehaus.groovy.maven</groupId>
229 <artifactId>gmaven-plugin</artifactId>
232 <phase>validate</phase>
237 <source>${basedir}/TagVersion.groovy</source>
243 <groupId>org.springframework.boot</groupId>
244 <artifactId>spring-boot-maven-plugin</artifactId>
247 <groupId>net.revelc.code.formatter</groupId>
248 <artifactId>formatter-maven-plugin</artifactId>
249 <version>${formatter-maven-plugin.version}</version>
251 <lineEnding>LF</lineEnding>
252 <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
254 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
255 spotless:apply process-sources -->
258 <groupId>com.diffplug.spotless</groupId>
259 <artifactId>spotless-maven-plugin</artifactId>
260 <version>${spotless-maven-plugin.version}</version>
262 <lineEndings>UNIX</lineEndings>
264 <removeUnusedImports/>
266 <order>com,java,javax,org</order>
270 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
271 mvn spotless:apply to rewrite source files use mvn spotless:check to validate
275 <groupId>org.apache.maven.plugins</groupId>
276 <artifactId>maven-surefire-plugin</artifactId>
277 <version>${surefire-maven-plugin.version}</version>
279 <skipTests>false</skipTests>
283 <artifactId>maven-failsafe-plugin</artifactId>
286 <groupId>org.codehaus.mojo</groupId>
287 <artifactId>build-helper-maven-plugin</artifactId>
291 <phase>generate-sources</phase>
293 <goal>add-source</goal>
297 <source>${project.build.directory}/generated-sources/annotations/</source>
304 <groupId>org.jacoco</groupId>
305 <artifactId>jacoco-maven-plugin</artifactId>
306 <version>${jacoco-maven-plugin.version}</version>
309 <id>default-prepare-agent</id>
311 <goal>prepare-agent</goal>
315 <id>default-report</id>
316 <phase>prepare-package</phase>
324 <groupId>io.swagger.codegen.v3</groupId>
325 <artifactId>swagger-codegen-maven-plugin</artifactId>
326 <version>${swagger-codegen-maven-plugin.version}</version>
331 <goal>generate</goal>
334 <inputSpec>${project.basedir}/api/pms-api.json</inputSpec>
335 <language>openapi-yaml</language>
336 <output>${project.basedir}/api</output>
338 <outputFile>pms-api.yaml</outputFile>
345 <artifactId>maven-resources-plugin</artifactId>
348 <id>copy-resource-one</id>
349 <phase>install</phase>
351 <goal>copy-resources</goal>
354 <outputDirectory>${project.basedir}/../docs/offeredapis/swagger</outputDirectory>
357 <directory>${project.basedir}/api</directory>
359 <include>pms-api.*</include>
368 <groupId>io.fabric8</groupId>
369 <artifactId>docker-maven-plugin</artifactId>
370 <version>${docker-maven-plugin}</version>
371 <inherited>false</inherited>
374 <id>generate-policy-management-service-image</id>
375 <phase>package</phase>
382 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
384 <cleanup>try</cleanup>
385 <contextDir>${basedir}</contextDir>
386 <dockerFile>Dockerfile</dockerFile>
388 <JAR>${project.build.finalName}.jar</JAR>
391 <tag>${project.version}</tag>
399 <id>push-policy-management-service-image</id>
407 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
409 <contextDir>${basedir}</contextDir>
410 <dockerFile>Dockerfile</dockerFile>
412 <JAR>${project.build.finalName}.jar</JAR>
415 <tag>${project.docker.latestminortag.version}</tag>
416 <tag>${project.docker.latestfulltag.version}</tag>
417 <tag>${project.docker.latesttagtimestamp.version}</tag>