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.0-SNAPSHOT</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.springdoc</groupId>
54 <artifactId>springdoc-openapi-ui</artifactId>
55 <version>1.6.6</version>
58 <groupId>org.springframework.boot</groupId>
59 <artifactId>spring-boot</artifactId>
62 <groupId>org.springframework</groupId>
63 <artifactId>spring-beans</artifactId>
66 <groupId>org.springframework</groupId>
67 <artifactId>spring-context</artifactId>
70 <groupId>org.springframework.boot</groupId>
71 <artifactId>spring-boot-autoconfigure</artifactId>
74 <groupId>org.springframework</groupId>
75 <artifactId>spring-web</artifactId>
78 <groupId>org.springframework</groupId>
79 <artifactId>spring-webmvc</artifactId>
82 <groupId>org.springframework.boot</groupId>
83 <artifactId>spring-boot-starter-webflux</artifactId>
86 <groupId>org.springframework</groupId>
87 <artifactId>spring-webflux</artifactId>
90 <groupId>io.springfox</groupId>
91 <artifactId>springfox-spring-web</artifactId>
92 <version>${springfox.version}</version>
95 <groupId>io.springfox</groupId>
96 <artifactId>springfox-spi</artifactId>
97 <version>${springfox.version}</version>
100 <groupId>io.springfox</groupId>
101 <artifactId>springfox-core</artifactId>
102 <version>${springfox.version}</version>
105 <groupId>org.aspectj</groupId>
106 <artifactId>aspectjweaver</artifactId>
109 <groupId>com.fasterxml.jackson.core</groupId>
110 <artifactId>jackson-databind</artifactId>
113 <groupId>org.apache.tomcat.embed</groupId>
114 <artifactId>tomcat-embed-core</artifactId>
117 <groupId>javax.validation</groupId>
118 <artifactId>validation-api</artifactId>
121 <groupId>com.google.guava</groupId>
122 <artifactId>guava</artifactId>
125 <groupId>com.google.code.gson</groupId>
126 <artifactId>gson</artifactId>
127 <version>${gson.version}</version>
130 <groupId>org.json</groupId>
131 <artifactId>json</artifactId>
132 <version>${json.version}</version>
135 <groupId>org.projectlombok</groupId>
136 <artifactId>lombok</artifactId>
137 <scope>provided</scope>
139 <!-- Actuator dependencies -->
141 <groupId>org.springframework.boot</groupId>
142 <artifactId>spring-boot-starter-actuator</artifactId>
143 <scope>runtime</scope>
145 <!--REQUIRED TO GENERATE DOCUMENTATION -->
147 <groupId>io.springfox</groupId>
148 <artifactId>springfox-swagger2</artifactId>
149 <version>${springfox.version}</version>
152 <groupId>io.springfox</groupId>
153 <artifactId>springfox-swagger-ui</artifactId>
154 <version>${springfox.version}</version>
155 <scope>runtime</scope>
157 <!-- For development help -->
159 <groupId>org.springframework.boot</groupId>
160 <artifactId>spring-boot-devtools</artifactId>
161 <optional>true</optional>
162 <scope>runtime</scope>
165 <groupId>org.springframework.boot</groupId>
166 <artifactId>spring-boot-configuration-processor</artifactId>
167 <optional>true</optional>
168 <scope>runtime</scope>
172 <groupId>org.springframework.boot</groupId>
173 <artifactId>spring-boot-test</artifactId>
177 <groupId>org.springframework.boot</groupId>
178 <artifactId>spring-boot-starter-test</artifactId>
182 <groupId>org.awaitility</groupId>
183 <artifactId>awaitility</artifactId>
187 <groupId>io.projectreactor</groupId>
188 <artifactId>reactor-test</artifactId>
192 <groupId>org.junit.jupiter</groupId>
193 <artifactId>junit-jupiter-engine</artifactId>
197 <groupId>org.mockito</groupId>
198 <artifactId>mockito-junit-jupiter</artifactId>
202 <groupId>org.mockito</groupId>
203 <artifactId>mockito-core</artifactId>
207 <groupId>com.squareup.okhttp3</groupId>
208 <artifactId>mockwebserver</artifactId>
212 <groupId>commons-io</groupId>
213 <artifactId>commons-io</artifactId>
214 <version>${commons-io.version}</version>
217 <!-- https://mvnrepository.com/artifact/com.github.erosb/everit-json-schema -->
219 <groupId>com.github.erosb</groupId>
220 <artifactId>everit-json-schema</artifactId>
221 <version>1.14.0</version>
227 <groupId>org.codehaus.groovy.maven</groupId>
228 <artifactId>gmaven-plugin</artifactId>
231 <phase>validate</phase>
236 <source>${basedir}/TagVersion.groovy</source>
242 <groupId>org.springframework.boot</groupId>
243 <artifactId>spring-boot-maven-plugin</artifactId>
246 <groupId>net.revelc.code.formatter</groupId>
247 <artifactId>formatter-maven-plugin</artifactId>
248 <version>${formatter-maven-plugin.version}</version>
250 <lineEnding>LF</lineEnding>
251 <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
253 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
254 spotless:apply process-sources -->
257 <groupId>com.diffplug.spotless</groupId>
258 <artifactId>spotless-maven-plugin</artifactId>
259 <version>${spotless-maven-plugin.version}</version>
261 <lineEndings>UNIX</lineEndings>
263 <removeUnusedImports/>
265 <order>com,java,javax,org</order>
269 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
270 mvn spotless:apply to rewrite source files use mvn spotless:check to validate
274 <groupId>org.apache.maven.plugins</groupId>
275 <artifactId>maven-surefire-plugin</artifactId>
276 <version>${surefire-maven-plugin.version}</version>
278 <skipTests>false</skipTests>
282 <artifactId>maven-failsafe-plugin</artifactId>
285 <groupId>org.codehaus.mojo</groupId>
286 <artifactId>build-helper-maven-plugin</artifactId>
290 <phase>generate-sources</phase>
292 <goal>add-source</goal>
296 <source>${project.build.directory}/generated-sources/annotations/</source>
303 <groupId>org.jacoco</groupId>
304 <artifactId>jacoco-maven-plugin</artifactId>
305 <version>${jacoco-maven-plugin.version}</version>
308 <id>default-prepare-agent</id>
310 <goal>prepare-agent</goal>
314 <id>default-report</id>
315 <phase>prepare-package</phase>
323 <groupId>io.swagger.codegen.v3</groupId>
324 <artifactId>swagger-codegen-maven-plugin</artifactId>
325 <version>${swagger-codegen-maven-plugin.version}</version>
330 <goal>generate</goal>
333 <inputSpec>${project.basedir}/api/pms-api.json</inputSpec>
334 <language>openapi-yaml</language>
335 <output>${project.basedir}/api</output>
337 <outputFile>pms-api.yaml</outputFile>
344 <artifactId>maven-resources-plugin</artifactId>
347 <id>copy-resource-one</id>
348 <phase>install</phase>
350 <goal>copy-resources</goal>
353 <outputDirectory>${project.basedir}/../docs/offeredapis/swagger</outputDirectory>
356 <directory>${project.basedir}/api</directory>
358 <include>pms-api.*</include>
367 <groupId>io.fabric8</groupId>
368 <artifactId>docker-maven-plugin</artifactId>
369 <version>${docker-maven-plugin}</version>
370 <inherited>false</inherited>
373 <id>generate-policy-management-service-image</id>
374 <phase>package</phase>
381 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
383 <cleanup>try</cleanup>
384 <contextDir>${basedir}</contextDir>
385 <dockerFile>Dockerfile</dockerFile>
387 <JAR>${project.build.finalName}.jar</JAR>
390 <tag>${project.version}</tag>
398 <id>push-policy-management-service-image</id>
406 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
408 <contextDir>${basedir}</contextDir>
409 <dockerFile>Dockerfile</dockerFile>
411 <JAR>${project.build.finalName}.jar</JAR>
414 <tag>${project.docker.latestminortag.version}</tag>
415 <tag>${project.docker.latestfulltag.version}</tag>
416 <tag>${project.docker.latesttagtimestamp.version}</tag>