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=======================================================
23 <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">
24 <modelVersion>4.0.0</modelVersion>
26 <groupId>org.onap.ccsdk.parent</groupId>
27 <artifactId>spring-boot-26-starter-parent</artifactId>
28 <version>2.5.0-SNAPSHOT</version>
31 <groupId>org.onap.ccsdk.oran</groupId>
32 <artifactId>a1-policy-management-service</artifactId>
33 <version>1.5.0-SNAPSHOT</version>
34 <name>ccsdk-oran :: ${project.artifactId}</name>
36 <java.version.source>11</java.version.source>
37 <java.version.target>11</java.version.target>
38 <springfox.version>3.0.0</springfox.version>
39 <gson.version>2.9.0</gson.version>
40 <json.version>20220320</json.version>
41 <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version>
42 <spotless-maven-plugin.version>2.5.0</spotless-maven-plugin.version>
43 <commons-io.version>2.11.0</commons-io.version>
44 <guava.version>31.0.1-jre</guava.version>
45 <docker-maven-plugin>0.30.0</docker-maven-plugin>
46 <surefire-maven-plugin.version>3.0.0-M5</surefire-maven-plugin.version>
47 <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
48 <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version>
49 <exec.skip>true</exec.skip>
50 <ccsdk.project.version>${project.version}</ccsdk.project.version>
51 <software.amazon.awssdk.version>2.17.292</software.amazon.awssdk.version>
55 <groupId>org.springframework.boot</groupId>
56 <artifactId>spring-boot</artifactId>
59 <groupId>org.springframework</groupId>
60 <artifactId>spring-beans</artifactId>
63 <groupId>org.springframework</groupId>
64 <artifactId>spring-context</artifactId>
67 <groupId>org.springframework.boot</groupId>
68 <artifactId>spring-boot-autoconfigure</artifactId>
71 <groupId>org.springframework</groupId>
72 <artifactId>spring-web</artifactId>
75 <groupId>org.springframework</groupId>
76 <artifactId>spring-webmvc</artifactId>
79 <groupId>org.springframework.boot</groupId>
80 <artifactId>spring-boot-starter-webflux</artifactId>
83 <groupId>org.springframework</groupId>
84 <artifactId>spring-webflux</artifactId>
87 <groupId>io.springfox</groupId>
88 <artifactId>springfox-spring-web</artifactId>
89 <version>${springfox.version}</version>
92 <groupId>io.springfox</groupId>
93 <artifactId>springfox-spi</artifactId>
94 <version>${springfox.version}</version>
97 <groupId>io.springfox</groupId>
98 <artifactId>springfox-core</artifactId>
99 <version>${springfox.version}</version>
102 <groupId>org.aspectj</groupId>
103 <artifactId>aspectjweaver</artifactId>
106 <groupId>org.apache.tomcat.embed</groupId>
107 <artifactId>tomcat-embed-core</artifactId>
110 <groupId>javax.validation</groupId>
111 <artifactId>validation-api</artifactId>
114 <groupId>com.google.guava</groupId>
115 <artifactId>guava</artifactId>
116 <version>${guava.version}</version>
119 <groupId>com.google.code.gson</groupId>
120 <artifactId>gson</artifactId>
121 <version>${gson.version}</version>
124 <groupId>org.json</groupId>
125 <artifactId>json</artifactId>
126 <version>${json.version}</version>
129 <groupId>org.projectlombok</groupId>
130 <artifactId>lombok</artifactId>
131 <scope>provided</scope>
133 <!-- Actuator dependencies -->
135 <groupId>org.springframework.boot</groupId>
136 <artifactId>spring-boot-starter-actuator</artifactId>
137 <scope>runtime</scope>
140 <groupId>io.micrometer</groupId>
141 <artifactId>micrometer-registry-prometheus</artifactId>
144 <groupId>org.springframework.boot</groupId>
145 <artifactId>spring-boot-starter-aop</artifactId>
148 <groupId>software.amazon.awssdk</groupId>
149 <artifactId>s3</artifactId>
150 <version>${software.amazon.awssdk.version}</version>
152 <!--REQUIRED TO GENERATE DOCUMENTATION -->
154 <groupId>io.springfox</groupId>
155 <artifactId>springfox-swagger2</artifactId>
156 <version>${springfox.version}</version>
159 <groupId>io.springfox</groupId>
160 <artifactId>springfox-swagger-ui</artifactId>
161 <version>${springfox.version}</version>
162 <scope>runtime</scope>
164 <!-- For development help -->
166 <groupId>org.springframework.boot</groupId>
167 <artifactId>spring-boot-devtools</artifactId>
168 <optional>true</optional>
169 <scope>runtime</scope>
172 <groupId>org.springframework.boot</groupId>
173 <artifactId>spring-boot-configuration-processor</artifactId>
174 <optional>true</optional>
175 <scope>runtime</scope>
179 <groupId>org.springdoc</groupId>
180 <artifactId>springdoc-openapi-ui</artifactId>
181 <version>1.6.6</version>
185 <groupId>org.springframework.boot</groupId>
186 <artifactId>spring-boot-test</artifactId>
190 <groupId>org.springframework.boot</groupId>
191 <artifactId>spring-boot-starter-test</artifactId>
195 <groupId>org.awaitility</groupId>
196 <artifactId>awaitility</artifactId>
200 <groupId>io.projectreactor</groupId>
201 <artifactId>reactor-test</artifactId>
205 <groupId>org.junit.jupiter</groupId>
206 <artifactId>junit-jupiter-engine</artifactId>
210 <groupId>org.mockito</groupId>
211 <artifactId>mockito-junit-jupiter</artifactId>
215 <groupId>org.mockito</groupId>
216 <artifactId>mockito-core</artifactId>
220 <groupId>com.squareup.okhttp3</groupId>
221 <artifactId>mockwebserver</artifactId>
225 <groupId>commons-io</groupId>
226 <artifactId>commons-io</artifactId>
227 <version>${commons-io.version}</version>
231 <groupId>com.github.erosb</groupId>
232 <artifactId>everit-json-schema</artifactId>
233 <version>1.14.0</version>
239 <groupId>org.codehaus.groovy.maven</groupId>
240 <artifactId>gmaven-plugin</artifactId>
243 <phase>validate</phase>
248 <source>${basedir}/TagVersion.groovy</source>
254 <groupId>org.springframework.boot</groupId>
255 <artifactId>spring-boot-maven-plugin</artifactId>
258 <groupId>net.revelc.code.formatter</groupId>
259 <artifactId>formatter-maven-plugin</artifactId>
260 <version>${formatter-maven-plugin.version}</version>
262 <lineEnding>LF</lineEnding>
263 <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
265 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
266 spotless:apply process-sources -->
269 <groupId>com.diffplug.spotless</groupId>
270 <artifactId>spotless-maven-plugin</artifactId>
271 <version>${spotless-maven-plugin.version}</version>
273 <lineEndings>UNIX</lineEndings>
275 <removeUnusedImports/>
277 <order>com,java,javax,org</order>
281 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
282 mvn spotless:apply to rewrite source files use mvn spotless:check to validate
286 <groupId>org.apache.maven.plugins</groupId>
287 <artifactId>maven-surefire-plugin</artifactId>
288 <version>${surefire-maven-plugin.version}</version>
290 <skipTests>false</skipTests>
294 <artifactId>maven-failsafe-plugin</artifactId>
297 <groupId>org.codehaus.mojo</groupId>
298 <artifactId>build-helper-maven-plugin</artifactId>
302 <phase>generate-sources</phase>
304 <goal>add-source</goal>
308 <source>${project.build.directory}/generated-sources/annotations/</source>
315 <groupId>org.jacoco</groupId>
316 <artifactId>jacoco-maven-plugin</artifactId>
317 <version>${jacoco-maven-plugin.version}</version>
320 <id>default-prepare-agent</id>
322 <goal>prepare-agent</goal>
326 <id>default-report</id>
327 <phase>prepare-package</phase>
335 <groupId>io.swagger.codegen.v3</groupId>
336 <artifactId>swagger-codegen-maven-plugin</artifactId>
337 <version>${swagger-codegen-maven-plugin.version}</version>
342 <goal>generate</goal>
345 <inputSpec>${project.basedir}/api/pms-api.json</inputSpec>
346 <language>openapi-yaml</language>
347 <output>${project.basedir}/api</output>
349 <outputFile>pms-api.yaml</outputFile>
356 <artifactId>maven-resources-plugin</artifactId>
359 <id>copy-resource-one</id>
360 <phase>install</phase>
362 <goal>copy-resources</goal>
365 <outputDirectory>${project.basedir}/../docs/offeredapis/swagger</outputDirectory>
368 <directory>${project.basedir}/api</directory>
370 <include>pms-api.*</include>
379 <groupId>io.fabric8</groupId>
380 <artifactId>docker-maven-plugin</artifactId>
381 <version>${docker-maven-plugin}</version>
382 <inherited>false</inherited>
385 <id>generate-policy-management-service-image</id>
386 <phase>package</phase>
393 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
395 <cleanup>try</cleanup>
396 <contextDir>${basedir}</contextDir>
397 <dockerFile>Dockerfile</dockerFile>
399 <JAR>${project.build.finalName}.jar</JAR>
402 <tag>${project.version}</tag>
410 <id>push-policy-management-service-image</id>
418 <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name>
420 <contextDir>${basedir}</contextDir>
421 <dockerFile>Dockerfile</dockerFile>
423 <JAR>${project.build.finalName}.jar</JAR>
426 <tag>${project.docker.latestminortag.version}</tag>
427 <tag>${project.docker.latestfulltag.version}</tag>
428 <tag>${project.docker.latesttagtimestamp.version}</tag>