| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ~ ============LICENSE_START======================================================= |
| ~ ONAP : ccsdk oran |
| ~ ================================================================================ |
| ~ Copyright (C) 2020 Nordix Foundation. All rights reserved. |
| ~ ================================================================================ |
| ~ Licensed under the Apache License, Version 2.0 (the "License"); |
| ~ you may not use this file except in compliance with the License. |
| ~ You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, software |
| ~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~ See the License for the specific language governing permissions and |
| ~ limitations under the License. |
| ~ ============LICENSE_END======================================================= |
| ~ |
| --> |
| |
| <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"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.onap.ccsdk.parent</groupId> |
| <artifactId>spring-boot-26-starter-parent</artifactId> |
| <version>2.4.4</version> |
| <relativePath/> |
| </parent> |
| <groupId>org.onap.ccsdk.oran</groupId> |
| <artifactId>a1-policy-management-service</artifactId> |
| <version>1.4.2-SNAPSHOT</version> |
| <name>ccsdk-oran :: ${project.artifactId}</name> |
| <properties> |
| <java.version.source>11</java.version.source> |
| <java.version.target>11</java.version.target> |
| <springfox.version>3.0.0</springfox.version> |
| <gson.version>2.9.0</gson.version> |
| <json.version>20220320</json.version> |
| <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version> |
| <spotless-maven-plugin.version>2.5.0</spotless-maven-plugin.version> |
| <commons-io.version>2.11.0</commons-io.version> |
| <docker-maven-plugin>0.30.0</docker-maven-plugin> |
| <surefire-maven-plugin.version>3.0.0-M5</surefire-maven-plugin.version> |
| <!-- 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! --> |
| <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version> |
| <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version> |
| <exec.skip>true</exec.skip> |
| <ccsdk.project.version>${project.version}</ccsdk.project.version> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-beans</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-autoconfigure</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-web</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-webmvc</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-webflux</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-webflux</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-spring-web</artifactId> |
| <version>${springfox.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-spi</artifactId> |
| <version>${springfox.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-core</artifactId> |
| <version>${springfox.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjweaver</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>javax.validation</groupId> |
| <artifactId>validation-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.json</groupId> |
| <artifactId>json</artifactId> |
| <version>${json.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <!-- Actuator dependencies --> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-actuator</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.micrometer</groupId> |
| <artifactId>micrometer-registry-prometheus</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-aop</artifactId> |
| </dependency> |
| <!--REQUIRED TO GENERATE DOCUMENTATION --> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-swagger2</artifactId> |
| <version>${springfox.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-swagger-ui</artifactId> |
| <version>${springfox.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <!-- For development help --> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-devtools</artifactId> |
| <optional>true</optional> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-configuration-processor</artifactId> |
| <optional>true</optional> |
| <scope>runtime</scope> |
| </dependency> |
| <!-- TEST --> |
| <dependency> |
| <groupId>org.springdoc</groupId> |
| <artifactId>springdoc-openapi-ui</artifactId> |
| <version>1.6.6</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.projectreactor</groupId> |
| <artifactId>reactor-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-junit-jupiter</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.squareup.okhttp3</groupId> |
| <artifactId>mockwebserver</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- https://mvnrepository.com/artifact/com.github.erosb/everit-json-schema --> |
| <dependency> |
| <groupId>com.github.erosb</groupId> |
| <artifactId>everit-json-schema</artifactId> |
| <version>1.14.0</version> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.groovy.maven</groupId> |
| <artifactId>gmaven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <source>${basedir}/TagVersion.groovy</source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <version>${formatter-maven-plugin.version}</version> |
| <configuration> |
| <lineEnding>LF</lineEnding> |
| <configFile>${project.basedir}/eclipse-formatter.xml</configFile> |
| </configuration> |
| <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format |
| spotless:apply process-sources --> |
| </plugin> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless-maven-plugin.version}</version> |
| <configuration> |
| <lineEndings>UNIX</lineEndings> |
| <java> |
| <removeUnusedImports/> |
| <importOrder> |
| <order>com,java,javax,org</order> |
| </importOrder> |
| </java> |
| </configuration> |
| <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use |
| mvn spotless:apply to rewrite source files use mvn spotless:check to validate |
| source files --> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${surefire-maven-plugin.version}</version> |
| <configuration> |
| <skipTests>false</skipTests> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${project.build.directory}/generated-sources/annotations/</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${jacoco-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>default-prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>default-report</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>io.swagger.codegen.v3</groupId> |
| <artifactId>swagger-codegen-maven-plugin</artifactId> |
| <version>${swagger-codegen-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <phase>test</phase> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.basedir}/api/pms-api.json</inputSpec> |
| <language>openapi-yaml</language> |
| <output>${project.basedir}/api</output> |
| <configOptions> |
| <outputFile>pms-api.yaml</outputFile> |
| </configOptions> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-resource-one</id> |
| <phase>install</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.basedir}/../docs/offeredapis/swagger</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/api</directory> |
| <includes> |
| <include>pms-api.*</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>io.fabric8</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>${docker-maven-plugin}</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>generate-policy-management-service-image</id> |
| <phase>package</phase> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| <configuration> |
| <images> |
| <image> |
| <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name> |
| <build> |
| <cleanup>try</cleanup> |
| <contextDir>${basedir}</contextDir> |
| <dockerFile>Dockerfile</dockerFile> |
| <args> |
| <JAR>${project.build.finalName}.jar</JAR> |
| </args> |
| <tags> |
| <tag>${project.version}</tag> |
| </tags> |
| </build> |
| </image> |
| </images> |
| </configuration> |
| </execution> |
| <execution> |
| <id>push-policy-management-service-image</id> |
| <goals> |
| <goal>build</goal> |
| <goal>push</goal> |
| </goals> |
| <configuration> |
| <images> |
| <image> |
| <name>onap/ccsdk-oran-a1policymanagementservice:${project.version}</name> |
| <build> |
| <contextDir>${basedir}</contextDir> |
| <dockerFile>Dockerfile</dockerFile> |
| <args> |
| <JAR>${project.build.finalName}.jar</JAR> |
| </args> |
| <tags> |
| <tag>${project.docker.latestminortag.version}</tag> |
| <tag>${project.docker.latestfulltag.version}</tag> |
| <tag>${project.docker.latesttagtimestamp.version}</tag> |
| </tags> |
| </build> |
| </image> |
| </images> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |