<packaging>pom</packaging>
<properties>
- <policy.common.version>4.0.0-SNAPSHOT</policy.common.version>
- <policy.models.version>5.0.0-SNAPSHOT</policy.models.version>
- <version.parent.checkstyle>${project.version}</version.parent.checkstyle>
<jacoco.destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco.destFile>
<!-- Default Sonar configuration -->
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
</sonar.coverage.jacoco.xmlReportPaths>
<!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
- <sonar.exclusions>org/drools/**/*,**/gen/**,**/generated-sources/**</sonar.exclusions>
- <repo.npm>https://nexus3.onap.org/repository/npm.public/npm/-/</repo.npm>
+ <sonar.exclusions>**/gen/**,**/generated-sources/**</sonar.exclusions>
<docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
<docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
<!-- Dependency Versions -->
- <version.beanutils>1.11.0</version.beanutils>
- <version.bytebuddy>1.17.8</version.bytebuddy>
- <version.ccsdk>1.7.1</version.ccsdk>
<version.cucumber>7.15.0</version.cucumber>
<version.docker-java>3.3.2</version.docker-java>
- <version.drools>8.40.1.Final</version.drools>
<version.frontend.maven>1.13.4</version.frontend.maven>
- <version.guava>33.4.6-jre</version.guava>
<version.hamcrest>3.0</version.hamcrest>
<version.httpclient>5.4.3</version.httpclient>
<version.httpcore>5.3.4</version.httpcore>
<version.io.prometheus>1.3.6</version.io.prometheus>
<version.jackson>2.18.3</version.jackson>
<version.jacoco>0.8.14</version.jacoco>
- <version.jaxb>4.0.5</version.jaxb>
<version.jersey>3.1.10</version.jersey>
- <version.jetty>12.0.22</version.jetty>
- <version.jexl3>3.2.1</version.jexl3>
- <version.json-path>2.9.0</version.json-path>
- <version.json-schema-friend>0.12.4</version.json-schema-friend>
- <version.json-schema-validator>1.5.6</version.json-schema-validator>
<version.jupiter>6.0.0</version.jupiter>
<version.kafka>4.1.0</version.kafka>
- <version.kotlin>2.1.20</version.kotlin>
- <version.log4j>2.24.3</version.log4j>
<version.logback>1.5.18</version.logback>
<version.lombok>1.18.42</version.lombok>
<version.maven-checkstyle-plugin>3.3.1</version.maven-checkstyle-plugin>
<version.micrometer>1.14.5</version.micrometer>
<version.mockito>5.20.0</version.mockito>
<version.mockserver>5.15.0</version.mockserver>
- <version.nsa-cambria>1.2.1-oss</version.nsa-cambria>
- <version.nsa-sa-client>1.3.0-oss</version.nsa-sa-client>
<version.opentel>1.43.0</version.opentel>
- <version.plexus>3.6.0</version.plexus>
- <version.sdc-dist>2.1.1</version.sdc-dist>
- <version.sdc-tosca>1.9.0</version.sdc-tosca>
<version.slf4j>2.0.17</version.slf4j>
<version.spring>6.2.12</version.spring>
<version.springboot>3.5.3</version.springboot>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${version.jackson}</version>
</dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>${version.guava}</version>
- </dependency>
<dependency>
<groupId>com.google.re2j</groupId>
<artifactId>re2j</artifactId>
<version>1.8</version>
</dependency>
- <dependency>
- <groupId>com.jayway.jsonpath</groupId>
- <artifactId>json-path</artifactId>
- <version>${version.json-path}</version>
- </dependency>
- <dependency>
- <groupId>com.networknt</groupId>
- <artifactId>json-schema-validator</artifactId>
- <version>${version.json-schema-validator}</version>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-core</artifactId>
- <version>${version.jaxb}</version>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- <version>${version.jaxb}</version>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-xjc</artifactId>
- <version>${version.jaxb}</version>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>${version.beanutils}</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.9.0</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.18.0</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.5</version>
- </dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.18.0</version>
</dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.3.5</version>
- </dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<artifactId>micrometer-core</artifactId>
<version>${version.micrometer}</version>
</dependency>
- <dependency>
- <groupId>io.micrometer</groupId>
- <artifactId>micrometer-observation</artifactId>
- <version>${version.micrometer}</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<artifactId>opentelemetry-kafka-clients-2.6</artifactId>
<version>2.7.0-alpha</version>
</dependency>
- <dependency>
- <groupId>io.prometheus</groupId>
- <artifactId>prometheus-metrics-core</artifactId>
- <version>${version.io.prometheus}</version>
- </dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>prometheus-metrics-instrumentation-jvm</artifactId>
<version>${version.io.prometheus}</version>
</dependency>
- <dependency>
- <groupId>io.prometheus</groupId>
- <artifactId>prometheus-metrics-exporter-httpserver</artifactId>
- <version>${version.io.prometheus}</version>
- </dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>prometheus-metrics-exporter-servlet-jakarta</artifactId>
<version>${version.io.prometheus}</version>
</dependency>
- <dependency>
- <groupId>io.swagger.core.v3</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>${version.swagger.core.v3}</version>
- </dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations-jakarta</artifactId>
<version>${version.swagger.core.v3}</version>
</dependency>
- <dependency>
- <groupId>io.swagger.core.v3</groupId>
- <artifactId>swagger-core</artifactId>
- <version>${version.swagger.core.v3}</version>
- </dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-jaxrs2-jakarta</artifactId>
<version>${version.swagger.core.v3}</version>
</dependency>
- <dependency>
- <groupId>io.swagger.core.v3</groupId>
- <artifactId>swagger-jaxrs2-servlet-initializer-v2-jakarta</artifactId>
- <version>${version.swagger.core.v3}</version>
- </dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-models-jakarta</artifactId>
<version>${version.swagger.core.v3}</version>
</dependency>
- <dependency>
- <groupId>io.swagger.parser.v3</groupId>
- <artifactId>swagger-parser</artifactId>
- <version>2.1.24</version>
- </dependency>
- <dependency>
- <groupId>jakarta.activation</groupId>
- <artifactId>jakarta.activation-api</artifactId>
- <version>2.1.3</version>
- </dependency>
- <dependency>
- <groupId>jakarta.annotation</groupId>
- <artifactId>jakarta.annotation-api</artifactId>
- <version>3.0.0</version>
- </dependency>
- <dependency>
- <groupId>jakarta.inject</groupId>
- <artifactId>jakarta.inject-api</artifactId>
- <version>2.0.1</version>
- </dependency>
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.1.0</version>
</dependency>
- <dependency>
- <groupId>jakarta.transaction</groupId>
- <artifactId>jakarta.transaction-api</artifactId>
- <version>2.0.1</version>
- </dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>4.0.0</version>
</dependency>
- <dependency>
- <groupId>jakarta.xml.bind</groupId>
- <artifactId>jakarta.xml.bind-api</artifactId>
- <version>4.0.2</version>
- </dependency>
- <dependency>
- <groupId>net.jimblackler.jsonschemafriend</groupId>
- <artifactId>core</artifactId>
- <version>${version.json-schema-friend}</version>
- </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.5.0-M3</version>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-jexl3</artifactId>
- <version>${version.jexl3}</version>
- </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.18.0</version>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-math3</artifactId>
- <version>3.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-text</artifactId>
- <version>1.13.0</version>
- </dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<artifactId>kafka-clients</artifactId>
<version>${version.kafka}</version>
</dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${version.log4j}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-to-slf4j</artifactId>
- <version>${version.log4j}</version>
- </dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.23</version>
</dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcpkix-fips</artifactId>
- <version>2.1.9</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- <version>${version.plexus}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <version>${version.jetty}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-security</artifactId>
- <version>${version.jetty}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>${version.jetty}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <version>${version.jetty}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty.ee10</groupId>
- <artifactId>jetty-ee10-servlet</artifactId>
- <version>${version.jetty}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jaxb</groupId>
- <artifactId>jaxb-core</artifactId>
- <version>${version.jaxb}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jaxb</groupId>
- <artifactId>jaxb-runtime</artifactId>
- <version>${version.jaxb}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-servlet</artifactId>
- <version>${version.jersey}</version>
- </dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${version.jersey}</version>
</dependency>
- <dependency>
- <groupId>org.glassfish.jersey.inject</groupId>
- <artifactId>jersey-hk2</artifactId>
- <version>${version.jersey}</version>
- </dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<artifactId>hibernate-core</artifactId>
<version>6.6.16.Final</version>
</dependency>
- <dependency>
- <groupId>org.hibernate.validator</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>8.0.2.Final</version>
- </dependency>
- <dependency>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-reflect</artifactId>
- <version>${version.kotlin}</version>
- </dependency>
- <dependency>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib</artifactId>
- <version>${version.kotlin}</version>
- </dependency>
- <dependency>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib-jdk7</artifactId>
- <version>${version.kotlin}</version>
- </dependency>
- <dependency>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib-jdk8</artifactId>
- <version>${version.kotlin}</version>
- </dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<artifactId>lombok</artifactId>
<version>${version.lombok}</version>
</dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>${version.slf4j}</version>
- </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.slf4j}</version>
</dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-ext</artifactId>
- <version>${version.slf4j}</version>
- </dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<artifactId>spring-aop</artifactId>
<version>${version.spring}</version>
</dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aspects</artifactId>
- <version>${version.spring}</version>
- </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<artifactId>spring-core</artifactId>
<version>${version.spring}</version>
</dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-expression</artifactId>
- <version>${version.spring}</version>
- </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
<version>${version.spring}</version>
</dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- <version>${version.spring}</version>
- </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<artifactId>spring-boot-starter-security</artifactId>
<version>${version.springboot}</version>
</dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- <version>${version.springboot}</version>
- </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${version.springboot}</version>
- <!-- Exclude the default Jackson dependency -->
- <exclusions>
- <exclusion>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-json</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${version.springboot}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ <phase>package</phase>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>${version.jacoco}</version>
<configuration>
<excludes>
- <exclude>org/drools/**/*</exclude>
<exclude>**/gen/**</exclude>
<exclude>**/generated-sources/**</exclude>
</excludes>
</annotationProcessorPaths>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.8.1</version>
+ <configuration>
+ <!-- Reduce false positives by ignoring runtime-only dependencies -->
+ <ignoreNonCompile>true</ignoreNonCompile>
+ <!-- Include test scope dependencies in analysis -->
+ <includeScope>compile</includeScope>
+ <!-- Ignore dependencies that appear unused but are actually needed -->
+ <ignoredUnusedDeclaredDependencies>
+ <!-- Spring Boot starters (auto-configuration) -->
+ <ignoredUnusedDeclaredDependency>org.springframework.boot:spring-boot-starter-*</ignoredUnusedDeclaredDependency>
+ <!-- Database drivers (loaded via JDBC URL) -->
+ <ignoredUnusedDeclaredDependency>org.postgresql:postgresql</ignoredUnusedDeclaredDependency>
+ <!-- Hibernate ORM (used by Spring Boot JPA at runtime) -->
+ <ignoredUnusedDeclaredDependency>org.hibernate.orm:hibernate-core</ignoredUnusedDeclaredDependency>
+ <!-- Logging implementations -->
+ <ignoredUnusedDeclaredDependency>ch.qos.logback:logback-classic</ignoredUnusedDeclaredDependency>
+ <!-- Jackson modules (reflection-based) -->
+ <ignoredUnusedDeclaredDependency>com.fasterxml.jackson.datatype:jackson-datatype-jsr310</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>com.fasterxml.jackson.module:jackson-module-parameter-names</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>org.openapitools:jackson-databind-nullable</ignoredUnusedDeclaredDependency>
+ <!-- Liquibase runtime dependencies -->
+ <ignoredUnusedDeclaredDependency>org.liquibase:liquibase-core</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>com.github.blagerweij:liquibase-sessionlock</ignoredUnusedDeclaredDependency>
+ <!-- CLI tools for production operations -->
+ <ignoredUnusedDeclaredDependency>info.picocli:picocli</ignoredUnusedDeclaredDependency>
+ <!-- Jakarta Servlet API (provided by container) -->
+ <ignoredUnusedDeclaredDependency>jakarta.servlet:jakarta.servlet-api</ignoredUnusedDeclaredDependency>
+ <!-- OpenAPI/Swagger (runtime loading) -->
+ <ignoredUnusedDeclaredDependency>org.springdoc:springdoc-openapi-starter-webmvc-ui</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>io.swagger.core.v3:swagger-jaxrs2-jakarta</ignoredUnusedDeclaredDependency>
+ <!-- Observability/Monitoring (runtime configuration) -->
+ <ignoredUnusedDeclaredDependency>io.micrometer:micrometer-registry-prometheus</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>io.micrometer:micrometer-tracing-bridge-otel</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>io.opentelemetry:opentelemetry-exporter-otlp</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>io.opentelemetry:opentelemetry-sdk-extension-autoconfigure</ignoredUnusedDeclaredDependency>
+ <ignoredUnusedDeclaredDependency>io.opentelemetry:opentelemetry-sdk-extension-jaeger-remote-sampler</ignoredUnusedDeclaredDependency>
+
+ <!-- Annotation processors -->
+ <ignoredUnusedDeclaredDependency>org.projectlombok:lombok</ignoredUnusedDeclaredDependency>
+ </ignoredUnusedDeclaredDependencies>
+ <!-- Ignore dependencies that appear as test-only but are used at runtime -->
+ <ignoredNonTestScopedDependencies>
+ <!-- Liquibase used by Spring Boot auto-configuration at runtime -->
+ <ignoredNonTestScopedDependency>org.liquibase:liquibase-core</ignoredNonTestScopedDependency>
+ <!-- SLF4J API used at runtime via logging framework -->
+ <ignoredNonTestScopedDependency>org.slf4j:slf4j-api</ignoredNonTestScopedDependency>
+ </ignoredNonTestScopedDependencies>
+ </configuration>
+ <executions>
+ <execution>
+ <id>analyze-dependencies</id>
+ <goals>
+ <goal>analyze-only</goal>
+ </goals>
+ <phase>verify</phase>
+ <configuration>
+ <failOnWarning>false</failOnWarning>
+ <outputXML>true</outputXML>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>