| <?xml version="1.0" encoding="UTF-8"?> |
| <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"> |
| <parent> |
| <groupId>org.onap.oparent</groupId> |
| <artifactId>oparent</artifactId> |
| <version>3.1.0</version> |
| <relativePath/> |
| </parent> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-parent</artifactId> |
| <version>0.0.1-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <properties> |
| <app>org.onap.cps.Application</app> |
| <base.image>openjdk:11-jre-slim</base.image> |
| <java.version>11</java.version> |
| <jib-maven-plugin.version>2.6.0</jib-maven-plugin.version> |
| <minimum-coverage>0.9</minimum-coverage> |
| <nexusproxy>https://nexus.onap.org</nexusproxy> |
| <oparent.version>3.1.0</oparent.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <releaseNexusPath>/content/repositories/releases/</releaseNexusPath> |
| <repository.name>nexus3.onap.org:10001/onap/cps-service</repository.name> |
| <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version> |
| <spring-boot-maven-plugin.version>2.3.3.RELEASE</spring-boot-maven-plugin.version> |
| <spotbugs.slf4j.version>1.8.0-beta4</spotbugs.slf4j.version> |
| <spotbugs.bug-pattern.version>1.5.0</spotbugs.bug-pattern.version> |
| <spotbugs.version>4.2.0</spotbugs.version> |
| <swagger-codegen-maven-plugin.version>3.0.18</swagger-codegen-maven-plugin.version> |
| <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath> |
| <tag.version>${project.version}</tag.version> |
| |
| <jacoco.reportDirectory.aggregate>${project.reporting.outputDirectory}/jacoco-aggregate</jacoco.reportDirectory.aggregate> |
| <sonar.coverage.jacoco.xmlReportPaths> |
| ../cps-ri/target/site/jacoco-ut/jacoco.xml, |
| ../cps-ri/target/site/jacoco-aggregate/jacoco.xml, |
| ../cps-service/target/site/jacoco-ut/jacoco.xml, |
| ../cps-service/target/site/jacoco-aggregate/jacoco.xml, |
| ../cps-rest/target/site/jacoco-ut/jacoco.xml, |
| ../cps-rest/target/site/jacoco-aggregate/jacoco.xml, |
| </sonar.coverage.jacoco.xmlReportPaths> |
| </properties> |
| |
| <distributionManagement> |
| <repository> |
| <id>ecomp-releases</id> |
| <name>ECOMP Release Repository</name> |
| <url>${nexusproxy}${releaseNexusPath}</url> |
| </repository> |
| <snapshotRepository> |
| <id>ecomp-snapshots</id> |
| <name>ECOMP Snapshot Repository</name> |
| <url>${nexusproxy}${snapshotNexusPath}</url> |
| </snapshotRepository> |
| </distributionManagement> |
| |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>com.google.cloud.tools</groupId> |
| <artifactId>jib-maven-plugin</artifactId> |
| <version>${jib-maven-plugin.version}</version> |
| <configuration> |
| <container> |
| <mainClass>${app}</mainClass> |
| <creationTime>USE_CURRENT_TIMESTAMP</creationTime> |
| </container> |
| <from> |
| <image>${base.image}</image> |
| </from> |
| <to> |
| <image>${repository.name}</image> |
| <tags> |
| <tag>${tag.version}</tag> |
| </tags> |
| </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> |
| </profile> |
| </profiles> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-dependencies</artifactId> |
| <version>${project.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-bom</artifactId> |
| <version>${project.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| <resource> |
| <directory>target/generated-sources/license</directory> |
| <includes> |
| <include>third-party-licenses.txt</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory>target/generated-resources/licenses</directory> |
| <includes> |
| <include>*.*</include> |
| </includes> |
| <targetPath>third-party-licenses</targetPath> |
| </resource> |
| </resources> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>${spring-boot-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>build-info</goal> |
| <goal>repackage</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Swagger code generation. --> |
| <plugin> |
| <groupId>io.swagger.codegen.v3</groupId> |
| <artifactId>swagger-codegen-maven-plugin</artifactId> |
| <version>${swagger-codegen-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.basedir}/docs/api/swagger/openapi.yml</inputSpec> |
| <invokerPackage>org.onap.cps.rest.controller</invokerPackage> |
| <modelPackage>org.onap.cps.rest.model</modelPackage> |
| <apiPackage>org.onap.cps.rest.api</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> |
| <plugin> |
| <groupId>com.google.cloud.tools</groupId> |
| <artifactId>jib-maven-plugin</artifactId> |
| <version>${jib-maven-plugin.version}</version> |
| <configuration> |
| <container> |
| <mainClass>${app}</mainClass> |
| <creationTime>USE_CURRENT_TIMESTAMP</creationTime> |
| </container> |
| <from> |
| <image>${base.image}</image> |
| </from> |
| <to> |
| <image>${repository.name}</image> |
| <tags> |
| <tag>${tag.version}</tag> |
| </tags> |
| </to> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${spotbugs-maven-plugin.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>${spotbugs.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <!-- The SpotBugs Maven plugin uses SLF4J 1.8 beta 2 --> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${spotbugs.slf4j.version}</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> |
| <!-- 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> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| </configuration> |
| </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>${oparent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <!-- Mandatory plugins for using Spock --> |
| <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.9.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compileTests</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Required because names of spec classes don't match default |
| Surefire patterns (`*Test` etc.) --> |
| <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> <!-- Just in case of having also "normal" JUnit tests --> |
| </includes> |
| <excludes> |
| <exclude>**/IT*.java</exclude> |
| </excludes> |
| <environmentVariables> |
| <!-- |
| disable privileged container usage to cleanup the test containers; |
| these will be 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>default-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/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>report</id> |
| <goals> |
| <goal>report-aggregate</goal> |
| </goals> |
| <phase>verify</phase> |
| <configuration> |
| <dataFileIncludes> |
| <fileInclude>**/code-coverage/jacoco-ut.exec</fileInclude> |
| </dataFileIncludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.sonarsource.scanner.maven</groupId> |
| <artifactId>sonar-maven-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |