| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ============LICENSE_START======================================================= |
| Copyright (c) 2021-2022 Bell Canada |
| Modifications Copyright (C) 2021 Nordix Foundation. |
| ================================================================================ |
| 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. |
| |
| SPDX-License-Identifier: Apache-2.0 |
| ============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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.onap.oparent</groupId> |
| <artifactId>oparent</artifactId> |
| <version>3.2.0</version> |
| <relativePath/> |
| </parent> |
| |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-temporal</artifactId> |
| <version>1.2.0-SNAPSHOT</version> |
| <name>cps-temporal</name> |
| <description>CPS Temporal Service</description> |
| |
| <properties> |
| <docker.repository.pull>nexus3.onap.org:10001/</docker.repository.pull> |
| <docker.repository.push>nexus3.onap.org:10003/</docker.repository.push> |
| <image.base>${docker.repository.pull}onap/integration-java11:8.0.0</image.base> |
| <image.name>${docker.repository.push}onap/cps-temporal</image.name> |
| <java.version>11</java.version> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> |
| <minimum-coverage>0.8</minimum-coverage> |
| <!-- Application dependencies versions --> |
| <cps.version>3.0.0</cps.version> |
| <mapstruct.version>1.4.2.Final</mapstruct.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-dependencies</artifactId> |
| <version>2.6.9</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.cloud</groupId> |
| <artifactId>spring-cloud-starter-sleuth</artifactId> |
| <version>3.1.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-bom</artifactId> |
| <version>2.0-M4-groovy-3.0</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers-bom</artifactId> |
| <version>1.15.3</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.logstash.logback</groupId> |
| <artifactId>logstash-logback-encoder</artifactId> |
| <version>7.0.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.janino</groupId> |
| <artifactId>janino</artifactId> |
| <version>3.1.7</version> |
| </dependency> |
| <dependency> |
| <groupId>com.vladmihalcea</groupId> |
| <artifactId>hibernate-types-52</artifactId> |
| <version>2.10.0</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-web</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-data-jpa</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-security</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-actuator</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.micrometer</groupId> |
| <artifactId>micrometer-registry-prometheus</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.vladmihalcea</groupId> |
| <artifactId>hibernate-types-52</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.liquibase</groupId> |
| <artifactId>liquibase-core</artifactId> |
| <version>4.14.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-validation</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-hateoas</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.mapstruct</groupId> |
| <artifactId>mapstruct</artifactId> |
| <version>${mapstruct.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.kafka</groupId> |
| <artifactId>spring-kafka</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-events</artifactId> |
| <version>${cps.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springdoc</groupId> |
| <artifactId>springdoc-openapi-ui</artifactId> |
| <version>1.5.9</version> |
| </dependency> |
| <!-- Runtime dependencies--> |
| <dependency> |
| <groupId>org.postgresql</groupId> |
| <artifactId>postgresql</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <!-- Test dependencies--> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <version>3.0.7</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-test</artifactId> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.junit.vintage</groupId> |
| <artifactId>junit-vintage-engine</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-spring</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>spock</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>postgresql</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>kafka</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.kafka</groupId> |
| <artifactId>spring-kafka-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.tngtech.archunit</groupId> |
| <artifactId>archunit-junit5</artifactId> |
| <version>0.18.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.cloud</groupId> |
| <artifactId>spring-cloud-starter-sleuth</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>net.logstash.logback</groupId> |
| <artifactId>logstash-logback-encoder</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.janino</groupId> |
| <artifactId>janino</artifactId> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>openapi</directory> |
| <targetPath>static</targetPath> |
| <filtering>true</filtering> |
| </resource> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.1</version> |
| <configuration> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>1.18.20</version> |
| </path> |
| <path> |
| <groupId>org.mapstruct</groupId> |
| <artifactId>mapstruct-processor</artifactId> |
| <version>${mapstruct.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>2.6.4</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>build-info</goal> |
| <goal>repackage</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- The gmavenplus plugin is used to compile Groovy code. To learn more about this plugin, |
| visit https://github.com/groovy/GMavenPlus/wiki --> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <version>1.12.1</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compile</goal> |
| <goal>compileTests</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>onap-license</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>process-sources</phase> |
| <configuration> |
| <configLocation>onap-checkstyle/check-license.xml</configLocation> |
| <includeResources>false</includeResources> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <includeTestResources>false</includeTestResources> |
| <sourceDirectories> |
| <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> |
| </sourceDirectories> |
| <consoleOutput>false</consoleOutput> |
| <violationSeverity>warning</violationSeverity> |
| <failOnViolation>true</failOnViolation> |
| </configuration> |
| </execution> |
| <execution> |
| <id>onap-java-style</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>process-sources</phase> |
| <configuration> |
| <configLocation>onap-checkstyle/onap-java-style.xml</configLocation> |
| <sourceDirectories> |
| <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> |
| </sourceDirectories> |
| <includeResources>true</includeResources> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <includeTestResources>true</includeTestResources> |
| <consoleOutput>false</consoleOutput> |
| <violationSeverity>warning</violationSeverity> |
| <failOnViolation>true</failOnViolation> |
| </configuration> |
| </execution> |
| <execution> |
| <id>cps-java-style</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>process-sources</phase> |
| <configuration> |
| <configLocation>cps-java-style.xml</configLocation> |
| <sourceDirectories> |
| <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> |
| </sourceDirectories> |
| <includeResources>true</includeResources> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <includeTestResources>true</includeTestResources> |
| <consoleOutput>true</consoleOutput> |
| <violationSeverity>warning</violationSeverity> |
| <failOnViolation>true</failOnViolation> |
| </configuration> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>org.onap.oparent</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>3.2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${cps.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.1.3</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>4.2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>${cps.version}</version> |
| </dependency> |
| <dependency> |
| <!-- The SpotBugs Maven plugin uses SLF4J 1.8 beta 2 --> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>1.8.0-beta4</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <plugins> |
| <plugin> |
| <groupId>jp.skypencil.findbugs.slf4j</groupId> |
| <artifactId>bug-pattern</artifactId> |
| <version>1.5.0</version> |
| </plugin> |
| </plugins> |
| <!-- |
| Enables analysis which takes more memory but finds more bugs. |
| If you run out of memory, changes the value of the effort element |
| to 'Low'. |
| --> |
| <effort>Max</effort> |
| <addSourceDirs>true</addSourceDirs> |
| <!-- Reports all bugs (other values are medium and max) --> |
| <threshold>Low</threshold> |
| <!-- Build doesn't fail if problems are found --> |
| <failOnError>true</failOnError> |
| <!-- References the excluded rules --> |
| <excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile> |
| <!-- Produces XML report --> |
| <xmlOutput>true</xmlOutput> |
| <!-- Configures the directory in which the XML report is created --> |
| <xmlOutputDirectory>${project.build.directory}/spotbugs</xmlOutputDirectory> |
| </configuration> |
| <executions> |
| <!-- |
| Ensures that SpotBugs inspects source code when project is compiled. |
| --> |
| <execution> |
| <id>analyze-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <!--suppress UnresolvedMavenProperty --> |
| <argLine>${surefireArgLine}</argLine> |
| <useFile>false</useFile> |
| <includes> |
| <include>**/*Spec.java</include> |
| <include>**/*Test.java</include> |
| </includes> |
| <environmentVariables> |
| <!-- |
| Disable privileged container usage to cleanup the test containers; |
| these are removed automatically on jvm termination; |
| see https://www.testcontainers.org/features/configuration/#disabling-ryuk |
| --> |
| <TESTCONTAINERS_RYUK_DISABLED>true</TESTCONTAINERS_RYUK_DISABLED> |
| </environmentVariables> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>coverage-prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>coverage-check</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <excludes> |
| <exclude>org/onap/cps/temporal/controller/rest/model/*</exclude> |
| </excludes> |
| <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile> |
| <rules> |
| <rule> |
| <element>BUNDLE</element> |
| <limits> |
| <limit> |
| <counter>INSTRUCTION</counter> |
| <value>COVEREDRATIO</value> |
| <minimum>${minimum-coverage}</minimum> |
| </limit> |
| </limits> |
| </rule> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>coverage-report</id> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| <configuration> |
| <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>io.swagger.codegen.v3</groupId> |
| <artifactId>swagger-codegen-maven-plugin</artifactId> |
| <version>3.0.27</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.basedir}/openapi/swagger/openapi.yml</inputSpec> |
| <invokerPackage>org.onap.cps.temporal.controller.rest</invokerPackage> |
| <modelPackage>org.onap.cps.temporal.controller.rest.model</modelPackage> |
| <apiPackage>org.onap.cps.temporal.controller.rest</apiPackage> |
| <language>spring</language> |
| <generateSupportingFiles>false</generateSupportingFiles> |
| <configOptions> |
| <sourceFolder>src/gen/java</sourceFolder> |
| <dateLibrary>java11</dateLibrary> |
| <interfaceOnly>true</interfaceOnly> |
| <useTags>true</useTags> |
| </configOptions> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>3.0.0-M5</version> |
| </plugin> |
| <plugin> |
| <groupId>com.google.cloud.tools</groupId> |
| <artifactId>jib-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| <configuration> |
| <container> |
| <creationTime>USE_CURRENT_TIMESTAMP</creationTime> |
| </container> |
| <from> |
| <image>${image.base}</image> |
| </from> |
| <to> |
| <tags> |
| <tag>latest</tag> |
| </tags> |
| <image>${image.name}:${project.version}-${maven.build.timestamp}</image> |
| </to> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <id>build</id> |
| <goals> |
| <goal>dockerBuild</goal> |
| </goals> |
| </execution> |
| <execution> |
| <phase>deploy</phase> |
| <id>buildAndPush</id> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.google.cloud.tools</groupId> |
| <artifactId>jib-maven-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |