| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ============LICENSE_START======================================================= |
| Copyright (C) 2024 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>ncmp-dmi-plugin</artifactId> |
| <version>1.6.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>dmi-service</artifactId> |
| |
| <properties> |
| <jacoco.minimum.coverage>0.98</jacoco.minimum.coverage> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-dependencies</artifactId> |
| <version>3.1.2</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.cloud</groupId> |
| <artifactId>spring-cloud-dependencies</artifactId> |
| <version>2022.0.3</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.kafka</groupId> |
| <artifactId>spring-kafka</artifactId> |
| <version>3.2.1</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>2.8.9</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger.core.v3</groupId> |
| <artifactId>swagger-annotations</artifactId> |
| <version>2.2.22</version> |
| </dependency> |
| <dependency> |
| <groupId>io.cloudevents</groupId> |
| <artifactId>cloudevents-json-jackson</artifactId> |
| <version>2.5.0</version> |
| </dependency> |
| <dependency> |
| <groupId>io.cloudevents</groupId> |
| <artifactId>cloudevents-kafka</artifactId> |
| <version>2.5.0</version> |
| </dependency> |
| <dependency> |
| <groupId>io.cloudevents</groupId> |
| <artifactId>cloudevents-spring</artifactId> |
| <version>2.5.0</version> |
| </dependency> |
| <dependency> |
| <groupId>net.logstash.logback</groupId> |
| <artifactId>logstash-logback-encoder</artifactId> |
| <version>7.0.1</version> |
| </dependency> |
| <dependency> |
| <groupId>net.minidev</groupId> |
| <artifactId>json-smart</artifactId> |
| <version>2.5.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>4.5.13</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <version>3.0.18</version> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-core</artifactId> |
| <version>2.4-M1-groovy-3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-spring</artifactId> |
| <version>2.4-M1-groovy-3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springdoc</groupId> |
| <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> |
| <version>2.0.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers-bom</artifactId> |
| <version>1.18.3</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.janino</groupId> |
| <artifactId>janino</artifactId> |
| <version>3.1.10</version> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>1.18.24</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-ncmp-events</artifactId> |
| <version>${cps.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents.client5</groupId> |
| <artifactId>httpclient5</artifactId> |
| <version>5.2.1</version> |
| </dependency> |
| <dependency> |
| <groupId>com.jayway.jsonpath</groupId> |
| <artifactId>json-path</artifactId> |
| <version>2.9.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.kafka</groupId> |
| <artifactId>spring-kafka-test</artifactId> |
| <version>3.2.1</version> |
| </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.springdoc</groupId> |
| <artifactId>springdoc-openapi-starter-webmvc-ui</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>org.springframework.kafka</groupId> |
| <artifactId>spring-kafka</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.jayway.jsonpath</groupId> |
| <artifactId>json-path</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.micrometer</groupId> |
| <artifactId>micrometer-registry-prometheus</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger.core.v3</groupId> |
| <artifactId>swagger-annotations</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.cloudevents</groupId> |
| <artifactId>cloudevents-json-jackson</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.cloudevents</groupId> |
| <artifactId>cloudevents-kafka</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.cloudevents</groupId> |
| <artifactId>cloudevents-spring</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>net.logstash.logback</groupId> |
| <artifactId>logstash-logback-encoder</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>net.minidev</groupId> |
| <artifactId>json-smart</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.janino</groupId> |
| <artifactId>janino</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-server</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-http</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.cps</groupId> |
| <artifactId>cps-ncmp-events</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents.client5</groupId> |
| <artifactId>httpclient5</artifactId> |
| </dependency> |
| <!-- T E S T - D E P E N D E N C I E S --> |
| <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.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.kafka</groupId> |
| <artifactId>spring-kafka-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>spock</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>kafka</artifactId> |
| <scope>test</scope> |
| </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>org.openapitools</groupId> |
| <artifactId>openapi-generator-maven-plugin</artifactId> |
| <version>6.6.0</version> |
| <executions> |
| <execution> |
| <id>dmi-code-gen</id> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.basedir}/../docs/api/swagger/openapi.yaml</inputSpec> |
| <generatorName>spring</generatorName> |
| <generateSupportingFiles>false</generateSupportingFiles> |
| <invokerPackage>org.onap.cps.ncmp.dmi.rest.controller</invokerPackage> |
| <apiPackage>org.onap.cps.ncmp.dmi.rest.api</apiPackage> |
| <modelPackage>org.onap.cps.ncmp.dmi.model</modelPackage> |
| <generateAliasAsModel>true</generateAliasAsModel> |
| <configOptions> |
| <sourceFolder>src/gen/java</sourceFolder> |
| <dateLibrary>java11</dateLibrary> |
| <interfaceOnly>true</interfaceOnly> |
| <useTags>true</useTags> |
| <useSpringBoot3>true</useSpringBoot3> |
| <openApiNullable>false</openApiNullable> |
| <skipDefaultInterface>true</skipDefaultInterface> |
| </configOptions> |
| </configuration> |
| </execution> |
| <execution> |
| <id>dmi-datajob-code-gen</id> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.basedir}/../docs/api/swagger/openapi-datajob.yaml</inputSpec> |
| <generatorName>spring</generatorName> |
| <generateSupportingFiles>false</generateSupportingFiles> |
| <invokerPackage>org.onap.cps.ncmp.dmi.datajobs.rest.controller</invokerPackage> |
| <apiPackage>org.onap.cps.ncmp.dmi.datajobs.rest.api</apiPackage> |
| <modelPackage>org.onap.cps.ncmp.dmi.datajobs.model</modelPackage> |
| <generateAliasAsModel>true</generateAliasAsModel> |
| <configOptions> |
| <sourceFolder>src/gen/java</sourceFolder> |
| <dateLibrary>java11</dateLibrary> |
| <interfaceOnly>true</interfaceOnly> |
| <useTags>true</useTags> |
| <useSpringBoot3>true</useSpringBoot3> |
| <openApiNullable>false</openApiNullable> |
| <skipDefaultInterface>true</skipDefaultInterface> |
| </configOptions> |
| </configuration> |
| </execution> |
| <execution> |
| <id>openapi-yaml-gen</id> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <phase>compile</phase> |
| <configuration> |
| <inputSpec>${project.basedir}/../docs/api/swagger/openapi.yaml</inputSpec> |
| <generatorName>openapi-yaml</generatorName> |
| <configOptions> |
| <outputFile>openapi/openapi.yaml</outputFile> |
| </configOptions> |
| </configuration> |
| </execution> |
| <execution> |
| <id>openapi-datajob-yaml-gen</id> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <phase>compile</phase> |
| <configuration> |
| <inputSpec>${project.basedir}/../docs/api/swagger/openapi-datajob.yaml</inputSpec> |
| <generatorName>openapi-yaml</generatorName> |
| <configOptions> |
| <outputFile>openapi/openapi-datajob.yaml</outputFile> |
| </configOptions> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>3.1.2</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> |
| <version>4.0.1</version> |
| <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> |
| <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>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.4.2</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.10</version> |
| <configuration> |
| <excludes> |
| <exclude>org/onap/cps/ncmp/dmi/model/*</exclude> |
| <exclude>org/onap/cps/ncmp/dmi/datajobs/model/*</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> |
| </build> |
| </project> |