| <!-- |
| ============LICENSE_START======================================================= |
| Copyright (c) 2021 Nordix Foundation. |
| Modifications Copyright (C) 2021 Bell Canada. |
| ================================================================================ |
| 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========================================================= |
| --><!DOCTYPE project [ |
| <!ELEMENT project (modelVersion|parent|organization|groupId|artifactId|version|name|description|properties|dependencyManagement|dependencies|build|pluginManagement)*> |
| <!ATTLIST project |
| xmlns CDATA #REQUIRED |
| xmlns:xsi CDATA #REQUIRED |
| xsi:schemaLocation CDATA #REQUIRED> |
| <!ELEMENT modelVersion (#PCDATA)> |
| <!ELEMENT parent (groupId|artifactId|version|relativePath)*> |
| <!ELEMENT groupId (#PCDATA)> |
| <!ELEMENT artifactId (#PCDATA)> |
| <!ELEMENT version (#PCDATA)> |
| <!ELEMENT relativePath (#PCDATA)> |
| <!ELEMENT organization (name|url)*> |
| <!ELEMENT name (#PCDATA)> |
| <!ELEMENT url (#PCDATA)> |
| <!ELEMENT description (#PCDATA)> |
| <!ELEMENT properties (app|base.image|cps.version|image.tag|jacoco.minimum.coverage|maven.build.timestamp.format|project.build.sourceEncoding|image.name)*> |
| <!ELEMENT app (#PCDATA)> |
| <!ELEMENT base.image (#PCDATA)> |
| <!ELEMENT cps.version (#PCDATA)> |
| <!ELEMENT image.tag (#PCDATA)> |
| <!ELEMENT jacoco.minimum.coverage (#PCDATA)> |
| <!ELEMENT maven.build.timestamp.format (#PCDATA)> |
| <!ELEMENT project.build.sourceEncoding (#PCDATA)> |
| <!ELEMENT dependencyManagement (dependencies)*> |
| <!ELEMENT dependencies (dependency)*> |
| <!ELEMENT dependency (groupId|artifactId|version|type|scope|exclusions)*> |
| <!ELEMENT type (#PCDATA)> |
| <!ELEMENT scope (#PCDATA)> |
| <!ELEMENT exclusions (exclusion)*> |
| <!ELEMENT exclusion (groupId|artifactId)*> |
| <!ELEMENT build (resources|plugins|plugin)*> |
| <!ELEMENT resources (resource)*> |
| <!ELEMENT resource (directory|filtering|includes|targetPath)*> |
| <!ELEMENT directory (#PCDATA)> |
| <!ELEMENT filtering (#PCDATA)> |
| <!ELEMENT includes (include)*> |
| <!ELEMENT include (#PCDATA)> |
| <!ELEMENT targetPath (#PCDATA)> |
| <!ELEMENT plugins (plugin)*> |
| <!ELEMENT plugin (groupId|artifactId|version|executions|configuration|dependencies)*> |
| <!ELEMENT executions (execution)*> |
| <!ELEMENT execution (goals|configuration|id|phase)*> |
| <!ELEMENT goals (goal)*> |
| <!ELEMENT goal (#PCDATA)> |
| <!ELEMENT configuration (inputSpec|language|generateSupportingFiles|apiPackage|modelPackage|configOptions|argLine|includes|excludes|configLocation|includeResources|includeTestSourceDirectory|includeTestResources|sourceDirectories|consoleOutput|violationSeverity|failOnViolation|plugins|effort|threshold|failOnError|excludeFilterFile|xmlOutput|xmlOutputDirectory|dataFile|rules|dataFileIncludes|container|from|to)*> |
| <!ELEMENT inputSpec (#PCDATA)> |
| <!ELEMENT language (#PCDATA)> |
| <!ELEMENT generateSupportingFiles (#PCDATA)> |
| <!ELEMENT apiPackage (#PCDATA)> |
| <!ELEMENT modelPackage (#PCDATA)> |
| <!ELEMENT configOptions (sourceFolder|dateLibrary|interfaceOnly|useTags)*> |
| <!ELEMENT sourceFolder (#PCDATA)> |
| <!ELEMENT dateLibrary (#PCDATA)> |
| <!ELEMENT interfaceOnly (#PCDATA)> |
| <!ELEMENT useTags (#PCDATA)> |
| <!ELEMENT id (#PCDATA)> |
| <!ELEMENT phase (#PCDATA)> |
| <!ELEMENT argLine (#PCDATA)> |
| <!ELEMENT excludes (exclude)*> |
| <!ELEMENT exclude (#PCDATA)> |
| <!ELEMENT configLocation (#PCDATA)> |
| <!ELEMENT includeResources (#PCDATA)> |
| <!ELEMENT includeTestSourceDirectory (#PCDATA)> |
| <!ELEMENT includeTestResources (#PCDATA)> |
| <!ELEMENT sourceDirectories (sourceDirectory)*> |
| <!ELEMENT sourceDirectory (#PCDATA)> |
| <!ELEMENT consoleOutput (#PCDATA)> |
| <!ELEMENT violationSeverity (#PCDATA)> |
| <!ELEMENT failOnViolation (#PCDATA)> |
| <!ELEMENT effort (#PCDATA)> |
| <!ELEMENT threshold (#PCDATA)> |
| <!ELEMENT failOnError (#PCDATA)> |
| <!ELEMENT excludeFilterFile (#PCDATA)> |
| <!ELEMENT xmlOutput (#PCDATA)> |
| <!ELEMENT xmlOutputDirectory (#PCDATA)> |
| <!ELEMENT dataFile (#PCDATA)> |
| <!ELEMENT rules (rule)*> |
| <!ELEMENT rule (element|limits)*> |
| <!ELEMENT element (#PCDATA)> |
| <!ELEMENT limits (limit)*> |
| <!ELEMENT limit (counter|value|minimum)*> |
| <!ELEMENT counter (#PCDATA)> |
| <!ELEMENT value (#PCDATA)> |
| <!ELEMENT minimum (#PCDATA)> |
| <!ELEMENT dataFileIncludes (fileInclude)*> |
| <!ELEMENT fileInclude (#PCDATA)> |
| <!ELEMENT pluginManagement (plugins)*> |
| <!ELEMENT container (mainClass|creationTime)*> |
| <!ELEMENT mainClass (#PCDATA)> |
| <!ELEMENT creationTime (#PCDATA)> |
| <!ELEMENT from (image)*> |
| <!ELEMENT image (#PCDATA)> |
| <!ELEMENT to (tags|image)*> |
| <!ELEMENT tags (tag)*> |
| <!ELEMENT tag (#PCDATA)> |
| <!ELEMENT profiles (profile)*> |
| <!ELEMENT profile (id|activation|properties|build)*> |
| <!ELEMENT activation (activeByDefault)*> |
| <!ELEMENT activeByDefault (#PCDATA)> |
| <!ELEMENT image.name (#PCDATA)> |
| ]> |
| <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> |
| <organization> |
| <name>ONAP - CPS</name> |
| <url>http://www.onap.org/</url> |
| </organization> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>ncmp-dmi-plugin</artifactId> |
| <version>1.0.1-SNAPSHOT</version> |
| <name>ncmp-dmi-plugin</name> |
| <description>DMI Plugin Service</description> |
| <properties> |
| <app>org.onap.cps.ncmp.dmi.Application</app> |
| <base.image>${docker.pull.registry}/onap/integration-java11:8.0.0</base.image> |
| <cps.version>2.0.0</cps.version> |
| <image.tag>${project.version}-${maven.build.timestamp}</image.tag> |
| <jacoco.minimum.coverage>0.7</jacoco.minimum.coverage> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-dependencies</artifactId> |
| <version>2.5.0</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-bom</artifactId> |
| <version>2.0-M5-groovy-3.0</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-web</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-validation</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| </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.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>io.swagger</groupId> |
| <artifactId>swagger-annotations</artifactId> |
| <version>1.6.2</version> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-boot-starter</artifactId> |
| <version>3.0.0</version> |
| </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>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.micrometer</groupId> |
| <artifactId>micrometer-registry-prometheus</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>net.minidev</groupId> |
| <artifactId>json-smart</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| </dependency> |
| </dependencies> |
| <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> |
| <plugins> |
| <plugin> |
| <groupId>io.swagger.codegen.v3</groupId> |
| <artifactId>swagger-codegen-maven-plugin</artifactId> |
| <version>3.0.18</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec> |
| <language>spring</language> |
| <generateSupportingFiles>false</generateSupportingFiles> |
| <apiPackage>org.onap.cps.ncmp.dmi.rest.api</apiPackage> |
| <modelPackage>org.onap.cps.ncmp.dmi.model</modelPackage> |
| <configOptions> |
| <sourceFolder>src/gen/java</sourceFolder> |
| <dateLibrary>java11</dateLibrary> |
| <interfaceOnly>true</interfaceOnly> |
| <useTags>true</useTags> |
| </configOptions> |
| </configuration> |
| </execution> |
| <execution> |
| <id>openapi-yaml-gen</id> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <phase>compile</phase> |
| <configuration> |
| <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec> |
| <language>openapi-yaml</language> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>2.3.3.RELEASE</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>build-info</goal> |
| <goal>repackage</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compileTests</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <argLine>${surefireArgLine}</argLine> |
| <includes> |
| <include>**/*Spec.java</include> |
| </includes> |
| <excludes> |
| <exclude>**/IT*.java</exclude> |
| </excludes> |
| </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>${project.groupId}</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> |
| <executions> |
| <execution> |
| <id>analyze-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>${cps.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <plugins> |
| <plugin> |
| <groupId>jp.skypencil.findbugs.slf4j</groupId> |
| <artifactId>bug-pattern</artifactId> |
| <version>1.5.0</version> |
| </plugin> |
| </plugins> |
| <effort>Max</effort> |
| <threshold>Low</threshold> |
| <failOnError>true</failOnError> |
| <excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile> |
| <addSourceDirs>true</addSourceDirs> |
| <xmlOutput>true</xmlOutput> |
| <xmlOutputDirectory>${basedir}/target/spotbugs</xmlOutputDirectory> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.5</version> |
| <configuration> |
| <excludes> |
| <exclude>org/onap/cps/ncmp/dmi/model/*</exclude> |
| <exclude>org/onap/cps/ncmp/dmi/config/*</exclude> |
| </excludes> |
| </configuration> |
| <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> |
| <dataFile>${basedir}/target/code-coverage/jacoco-ut.exec</dataFile> |
| <rules> |
| <rule> |
| <element>BUNDLE</element> |
| <limits> |
| <limit> |
| <counter>INSTRUCTION</counter> |
| <value>COVEREDRATIO</value> |
| <minimum>${jacoco.minimum.coverage}</minimum> |
| </limit> |
| </limits> |
| </rule> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>report</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>report-aggregate</goal> |
| </goals> |
| <configuration> |
| <dataFileIncludes> |
| <fileInclude>**/code-coverage/jacoco-ut.exec</fileInclude> |
| </dataFileIncludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>com.google.cloud.tools</groupId> |
| <artifactId>jib-maven-plugin</artifactId> |
| <version>3.1.4</version> |
| <configuration> |
| <container> |
| <mainClass>${app}</mainClass> |
| <creationTime>USE_CURRENT_TIMESTAMP</creationTime> |
| </container> |
| <from> |
| <image>${base.image}</image> |
| </from> |
| <to> |
| <tags> |
| <tag>latest</tag> |
| </tags> |
| <image>${docker.push.registry}/onap/${image.name}:${image.tag}</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> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <properties> |
| <image.name>ncmp-dmi-plugin</image.name> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.google.cloud.tools</groupId> |
| <artifactId>jib-maven-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |