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-25-starter-parent</artifactId>
27 <version>2.3.3-SNAPSHOT</version>
30 <groupId>org.onap.ccsdk.oran</groupId>
31 <artifactId>a1-policy-management-service</artifactId>
32 <version>1.3.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 <immutable.version>2.9.0</immutable.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>org.immutables</groupId>
126 <artifactId>value</artifactId>
127 <version>${immutable.version}</version>
128 <scope>provided</scope>
131 <groupId>org.immutables</groupId>
132 <artifactId>gson</artifactId>
133 <version>${immutable.version}</version>
136 <groupId>org.json</groupId>
137 <artifactId>json</artifactId>
138 <version>${json.version}</version>
141 <groupId>org.projectlombok</groupId>
142 <artifactId>lombok</artifactId>
143 <scope>provided</scope>
145 <!-- Actuator dependencies -->
147 <groupId>org.springframework.boot</groupId>
148 <artifactId>spring-boot-starter-actuator</artifactId>
149 <scope>runtime</scope>
151 <!--REQUIRED TO GENERATE DOCUMENTATION -->
153 <groupId>io.springfox</groupId>
154 <artifactId>springfox-swagger2</artifactId>
155 <version>${springfox.version}</version>
158 <groupId>io.springfox</groupId>
159 <artifactId>springfox-swagger-ui</artifactId>
160 <version>${springfox.version}</version>
161 <scope>runtime</scope>
163 <!-- For development help -->
165 <groupId>org.springframework.boot</groupId>
166 <artifactId>spring-boot-devtools</artifactId>
167 <optional>true</optional>
168 <scope>runtime</scope>
171 <groupId>org.springframework.boot</groupId>
172 <artifactId>spring-boot-configuration-processor</artifactId>
173 <optional>true</optional>
174 <scope>runtime</scope>
178 <groupId>org.springframework.boot</groupId>
179 <artifactId>spring-boot-test</artifactId>
183 <groupId>org.springframework.boot</groupId>
184 <artifactId>spring-boot-starter-test</artifactId>
188 <groupId>org.awaitility</groupId>
189 <artifactId>awaitility</artifactId>
193 <groupId>io.projectreactor</groupId>
194 <artifactId>reactor-test</artifactId>
198 <groupId>org.junit.jupiter</groupId>
199 <artifactId>junit-jupiter-engine</artifactId>
203 <groupId>org.mockito</groupId>
204 <artifactId>mockito-junit-jupiter</artifactId>
208 <groupId>org.mockito</groupId>
209 <artifactId>mockito-core</artifactId>
213 <groupId>com.squareup.okhttp3</groupId>
214 <artifactId>mockwebserver</artifactId>
218 <groupId>commons-io</groupId>
219 <artifactId>commons-io</artifactId>
220 <version>${commons-io.version}</version>
223 <!-- https://mvnrepository.com/artifact/com.github.erosb/everit-json-schema -->
225 <groupId>com.github.erosb</groupId>
226 <artifactId>everit-json-schema</artifactId>
227 <version>1.14.0</version>
233 <groupId>org.codehaus.groovy.maven</groupId>
234 <artifactId>gmaven-plugin</artifactId>
237 <phase>validate</phase>
242 <source>${basedir}/TagVersion.groovy</source>
248 <groupId>org.springframework.boot</groupId>
249 <artifactId>spring-boot-maven-plugin</artifactId>
252 <groupId>net.revelc.code.formatter</groupId>
253 <artifactId>formatter-maven-plugin</artifactId>
254 <version>${formatter-maven-plugin.version}</version>
256 <lineEnding>LF</lineEnding>
257 <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
259 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
260 spotless:apply process-sources -->
263 <groupId>com.diffplug.spotless</groupId>
264 <artifactId>spotless-maven-plugin</artifactId>
265 <version>${spotless-maven-plugin.version}</version>
267 <lineEndings>UNIX</lineEndings>
269 <removeUnusedImports/>
271 <order>com,java,javax,org</order>
275 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
276 mvn spotless:apply to rewrite source files use mvn spotless:check to validate
280 <groupId>org.apache.maven.plugins</groupId>
281 <artifactId>maven-surefire-plugin</artifactId>
282 <version>${surefire-maven-plugin.version}</version>
284 <skipTests>false</skipTests>
288 <artifactId>maven-failsafe-plugin</artifactId>
291 <groupId>org.codehaus.mojo</groupId>
292 <artifactId>build-helper-maven-plugin</artifactId>
296 <phase>generate-sources</phase>
298 <goal>add-source</goal>
302 <source>${project.build.directory}/generated-sources/annotations/</source>
309 <groupId>org.jacoco</groupId>
310 <artifactId>jacoco-maven-plugin</artifactId>
311 <version>${jacoco-maven-plugin.version}</version>
314 <id>default-prepare-agent</id>
316 <goal>prepare-agent</goal>
320 <id>default-report</id>
321 <phase>prepare-package</phase>
329 <groupId>io.swagger.codegen.v3</groupId>
330 <artifactId>swagger-codegen-maven-plugin</artifactId>
331 <version>${swagger-codegen-maven-plugin.version}</version>
336 <goal>generate</goal>
339 <inputSpec>${project.basedir}/api/pms-api.json</inputSpec>
340 <language>openapi-yaml</language>
341 <output>${project.basedir}/api</output>
343 <outputFile>pms-api.yaml</outputFile>
350 <artifactId>maven-resources-plugin</artifactId>
353 <id>copy-resource-one</id>
354 <phase>install</phase>
356 <goal>copy-resources</goal>
359 <outputDirectory>${project.basedir}/../docs/offeredapis/swagger</outputDirectory>
362 <directory>${project.basedir}/api</directory>
364 <include>pms-api.*</include>
373 <groupId>io.fabric8</groupId>
374 <artifactId>docker-maven-plugin</artifactId>
375 <version>${docker-maven-plugin}</version>
376 <inherited>false</inherited>
379 <id>generate-policy-management-service-image</id>
380 <phase>package</phase>
387 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
389 <cleanup>try</cleanup>
390 <contextDir>${basedir}</contextDir>
391 <dockerFile>Dockerfile</dockerFile>
393 <JAR>${project.build.finalName}.jar</JAR>
396 <tag>${project.version}</tag>
404 <id>push-policy-management-service-image</id>
412 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
414 <contextDir>${basedir}</contextDir>
415 <dockerFile>Dockerfile</dockerFile>
417 <JAR>${project.build.finalName}.jar</JAR>
420 <tag>${project.docker.latestminortag.version}</tag>
421 <tag>${project.docker.latestfulltag.version}</tag>
422 <tag>${project.docker.latesttagtimestamp.version}</tag>