This is an automated email from the ASF dual-hosted git repository. gitgabrio pushed a commit to branch incubator-kie-issues#2261 in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
commit 65f3d32276f52e6f6e02d3915a6687b2c487198d Author: Gabriele-Cardosi <[email protected]> AuthorDate: Wed Feb 25 11:58:37 2026 +0100 [incubator-kie-issues#2261] Checkpoint 1 --- build-parent/pom.xml | 1026 +++++++++++++++++++- drools-examples-api/pom.xml | 10 - drools-examples/pom.xml | 10 - drools-model/drools-model-codegen/pom.xml | 18 - drools-persistence/drools-persistence-jpa/pom.xml | 10 - drools-templates/pom.xml | 10 - .../standalone/kie-ci-with-domain/pom.xml | 10 - .../standalone/kie-ci-without-domain/pom.xml | 10 - drools-verifier/drools-verifier-drl/pom.xml | 15 - kie-no-dependencymanagement-rule/pom.xml | 95 ++ .../NoDependencyManagementRule.java | 97 ++ .../kie-pmml-models/kie-pmml-models-drools/pom.xml | 12 +- kie-pmml-trusty/pom.xml | 12 - kie-test-util/pom.xml | 17 - kie-util/kie-util-maven-integration/pom.xml | 10 - pom.xml | 1 + 16 files changed, 1223 insertions(+), 140 deletions(-) diff --git a/build-parent/pom.xml b/build-parent/pom.xml index f5d7d80920..711183b6ce 100644 --- a/build-parent/pom.xml +++ b/build-parent/pom.xml @@ -224,10 +224,128 @@ <version.io.vertx>4.5.23</version.io.vertx> <version.at.yawk.lz4.java>1.10.1</version.at.yawk.lz4.java> + + <version.graalvm>22.0.0.2</version.graalvm> + <version.gradle>8.11.1</version.gradle> + <version.org.apache.groovy>4.0.29</version.org.apache.groovy> + <version.maven.resolver.api>1.7.3</version.maven.resolver.api> + <version.nashorn>15.3</version.nashorn> + <version.plugin.testing.harness>3.3.0</version.plugin.testing.harness> + <version.sisu.inject>1.4.2</version.sisu.inject> + <version.angus.mail>2.0.5</version.angus.mail> + <version.apache.commons.commons-compress>1.28.0</version.apache.commons.commons-compress> + <version.at.yawk.lz4.java>1.10.1</version.at.yawk.lz4.java> + <version.black.ninia>4.2.0</version.black.ninia> + <version.ch.qos.logback>1.5.25</version.ch.qos.logback> + <version.com.fasterxml.jackson>2.19.2</version.com.fasterxml.jackson> + <version.com.fasterxml.jackson.databind>2.19.2</version.com.fasterxml.jackson.databind> + <version.com.fasterxml.jackson.datatype>2.19.2</version.com.fasterxml.jackson.datatype> + <version.com.github.haifengl.smile>1.5.2</version.com.github.haifengl.smile> + <version.com.github.javaparser>3.27.0</version.com.github.javaparser> + <version.com.github.stephenc.jcip>1.0-1</version.com.github.stephenc.jcip> + <version.com.github.victools>4.37.0</version.com.github.victools> + <version.com.google.collections>1.0</version.com.google.collections> + <version.com.google.gson>2.13.2</version.com.google.gson> + <version.com.google.guava>33.4.8-jre</version.com.google.guava> + <!-- graphql-java upgraded from 22.0 to 24.3 for java-dataloader 3.4.0+ compatibility + required by Spring Boot 3.5.x (DataLoaderOptions.newDefaultOptions()). + extended-scalars version must match graphql-java major version. --> + <version.com.graphql-java>24.3</version.com.graphql-java> + <version.com.graphql-java-extended-scalars>24.0</version.com.graphql-java-extended-scalars> + + <version.com.h2>2.3.232</version.com.h2> + <version.com.jayway.jsonpath>2.9.0</version.com.jayway.jsonpath> + <version.com.networknt>1.0.86</version.com.networknt> + <version.com.ongres.scram>3.2</version.com.ongres.scram> + <version.com.squareup.okhttp3>4.12.0</version.com.squareup.okhttp3> + <version.com.sun.activation>2.0.2</version.com.sun.activation> + <version.com.sun.xml.bind.core>4.0.5</version.com.sun.xml.bind.core> + <version.commons.io>2.20.0</version.commons.io> + <version.io.cloudevents>2.3.0</version.io.cloudevents> + <version.io.fabric8>7.3.1</version.io.fabric8> + <version.io.fabric8.kubernetes-client>7.3.1</version.io.fabric8.kubernetes-client> + <version.io.grpc>1.56.0</version.io.grpc> + <version.io.micrometer>1.14.12</version.io.micrometer> + <version.io.netty>4.1.130.Final</version.io.netty> + <version.io.rest-assured>5.5.6</version.io.rest-assured> + <version.io.serverlessworkflow>4.1.0.Final</version.io.serverlessworkflow> + <version.io.smallrye-config>3.13.4</version.io.smallrye-config> + <version.io.smallrye-open-api>4.0.12</version.io.smallrye-open-api> + <version.io.smallrye.reactive.messaging.in.memory>4.28.0</version.io.smallrye.reactive.messaging.in.memory> + <version.io.smallrye.reactive.mutiny-vertx-web-client>3.21.3</version.io.smallrye.reactive.mutiny-vertx-web-client> + <!-- Mutiny Zero Flow Adapters --> + <version.io.smallrye.reactive.mutiny-zero>1.1.1</version.io.smallrye.reactive.mutiny-zero> + <version.io.swagger.core.v3>2.2.38</version.io.swagger.core.v3> + <version.io.swagger.parser.v3>2.1.34</version.io.swagger.parser.v3> + <version.io.vertx>4.5.23</version.io.vertx> + <version.jakarta.annotation-api>3.0.0</version.jakarta.annotation-api> + <version.jakarta.persistence-api>3.2.0</version.jakarta.persistence-api> + <version.jakarta.validation-api>3.1.1</version.jakarta.validation-api> + <version.jakarta.ws.rs>3.1.0</version.jakarta.ws.rs> + <version.jakarta.xml.bind-api>4.0.4</version.jakarta.xml.bind-api> + <version.javax.inject>2.0.1</version.javax.inject> + <version.maven>3.9.11</version.maven> + <version.maven.invoker>3.2.0</version.maven.invoker> + <version.maven.plugin>3.15.1</version.maven.plugin> + <version.maven.project>2.2.1</version.maven.project> + <version.net.byte-buddy>1.17.6</version.net.byte-buddy> + <version.net.minidev.jsonsmart>2.4.10</version.net.minidev.jsonsmart> + <version.net.sf.saxon.Saxon-HE>12.7</version.net.sf.saxon.Saxon-HE> + <version.net.thisptr.jackson-jq>1.0.0-preview.20240207</version.net.thisptr.jackson-jq> + <version.org.apache.avro>1.12.1</version.org.apache.avro> + <version.org.apache.commons>3.18.0</version.org.apache.commons> + <version.org.apache.groovy>4.0.29</version.org.apache.groovy> + <version.org.apache.kafka>4.0.0</version.org.apache.kafka> + <version.org.apache.tomcat>6.0.53</version.org.apache.tomcat> + <version.org.awaitility>4.3.0</version.org.awaitility> + <version.org.bouncycastle.bc.jdk18on>1.82</version.org.bouncycastle.bc.jdk18on> + <version.org.eclipse.microprofile.openapi>4.0.2</version.org.eclipse.microprofile.openapi> + <version.org.flywaydb>11.14.1</version.org.flywaydb> + <version.org.glassfish.jaxb>4.0.6</version.org.glassfish.jaxb> + <version.org.graalvm.nativeimage>23.1.2</version.org.graalvm.nativeimage> + <version.org.hamcrest>2.2</version.org.hamcrest> + <version.org.hibernate>7.1.14.Final</version.org.hibernate> + <version.org.infinispan>15.0.21.Final</version.org.infinispan> + <version.org.infinispan.protostream>5.0.13.Final</version.org.infinispan.protostream> + <version.org.jboss.resteasy>6.2.12.Final</version.org.jboss.resteasy> + <version.org.jredisearch>2.2.0</version.org.jredisearch> + <version.org.json>20231013</version.org.json> + <version.org.json-unit-assertj>2.9.0</version.org.json-unit-assertj> + <version.org.junit>4.13.2</version.org.junit> + <version.org.junit.jupiter>5.13.4</version.org.junit.jupiter> + <version.org.junit.platform>1.13.4</version.org.junit.platform> + <version.org.keycloak>26.1.0</version.org.keycloak> + <version.org.mockito>5.18.0</version.org.mockito> + <version.org.mongo>5.3.1</version.org.mongo> + <version.org.mozilla.rhino>1.8.1</version.org.mozilla.rhino> + <version.org.mvel>2.5.2.Final</version.org.mvel> + <version.org.postgresql>42.7.8</version.org.postgresql> + <version.org.reactivestreams>1.0.4</version.org.reactivestreams> + <version.org.reflections>0.10.2</version.org.reflections> + <version.org.rocksdb>7.10.2</version.org.rocksdb> + <version.org.skyscreamer>1.5.1</version.org.skyscreamer> + <version.org.spockframework>2.2-groovy-4.0</version.org.spockframework> + <version.org.springdoc>2.8.13</version.org.springdoc> + <version.org.testcontainers>2.0.3</version.org.testcontainers> + <version.org.webjars.bootstrap>5.1.3</version.org.webjars.bootstrap> + <version.org.webjars.jquery>3.6.0</version.org.webjars.jquery> + <version.org.wiremock>3.13.0</version.org.wiremock> + <version.org.wiremock.webhooks>3.0.4</version.org.wiremock.webhooks> + <version.org.xmlunit-core>2.10.4</version.org.xmlunit-core> + <version.plexus>2.2.0</version.plexus> + <version.plexus.classworld>2.9.0</version.plexus.classworld> + <version.tomcat.embed.core>10.1.48</version.tomcat.embed.core> +<!-- Used to define which poms are allowed to have dependencyManagement sections. This is to enforce the convention that only the root pom should have dependencyManagement, and all other poms should inherit from it. --> + <allowedPomsList>org.kie:drools-build-parent</allowedPomsList> </properties> <dependencyManagement> <dependencies> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kie-no-dependencymanagement-rule</artifactId> + <version>${project.version}</version> + </dependency> <!-- Version overrides to fix vulnerabilities. --> <dependency> <groupId>io.vertx</groupId> @@ -270,6 +388,12 @@ <version>${version.common-text}</version> </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpcore</artifactId> + <version>${version.org.apache.httpcomponents.httpcore}</version> + </dependency> + <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> @@ -1060,6 +1184,7 @@ <version>${version.org.openjdk.jmh}</version> <scope>test</scope> </dependency> + <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> @@ -1330,10 +1455,878 @@ </exclusion> </exclusions> </dependency> - </dependencies> + <dependency> + <groupId>black.ninia</groupId> + <artifactId>jep</artifactId> + <version>${version.black.ninia}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-avro</artifactId> + <version>${version.com.fasterxml.jackson}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-xml</artifactId> + <version>${version.com.fasterxml.jackson}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-jakarta-jsonp</artifactId> + <version>${version.com.fasterxml.jackson}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-jdk8</artifactId> + <version>${version.com.fasterxml.jackson}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-json-org</artifactId> + <version>${version.com.fasterxml.jackson}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-parameter-names</artifactId> + <version>${version.com.fasterxml.jackson}</version> + </dependency> + <!-- <dependency> + <groupId>com.github.ben-manes.caffeine</groupId> + <artifactId>caffeine</artifactId> + </dependency>--> + <dependency> + <groupId>com.github.haifengl</groupId> + <artifactId>smile-core</artifactId> + <version>${version.com.github.haifengl.smile}</version> + </dependency> + <dependency> + <groupId>com.github.javaparser</groupId> + <artifactId>javaparser-symbol-solver-core</artifactId> + <version>${version.com.github.javaparser}</version> + </dependency> + <dependency> + <groupId>com.github.stephenc.jcip</groupId> + <artifactId>jcip-annotations</artifactId> + <version>${version.com.github.stephenc.jcip}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>${version.com.google.gson}</version> + </dependency> + <dependency> + <groupId>com.google.collections</groupId> + <artifactId>google-collections</artifactId> + <version>${version.com.google.collections}</version> + </dependency> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java-util</artifactId> + <version>${version.com.google.protobuf}</version> + </dependency> + <dependency> + <groupId>com.graphql-java</groupId> + <artifactId>graphql-java</artifactId> + <version>${version.com.graphql-java}</version> + </dependency> + <dependency> + <groupId>com.graphql-java</groupId> + <artifactId>graphql-java-extended-scalars</artifactId> + <version>${version.com.graphql-java-extended-scalars}</version> + </dependency> + <dependency> + <groupId>com.jayway.jsonpath</groupId> + <artifactId>json-path</artifactId> + <version>${version.com.jayway.jsonpath}</version> + </dependency> + <dependency> + <groupId>com.jayway.jsonpath</groupId> + <artifactId>json-path-assert</artifactId> + <version>${version.com.jayway.jsonpath}</version> + </dependency> + <dependency> + <groupId>com.miglayout</groupId> + <artifactId>miglayout</artifactId> + <version>${version.com.miglayout}</version> + </dependency> + <dependency> + <groupId>com.ongres.scram</groupId> + <artifactId>scram-client</artifactId> + <version>${version.com.ongres.scram}</version> + </dependency> + <dependency> + <groupId>com.redislabs</groupId> + <artifactId>jredisearch</artifactId> + <version>${version.org.jredisearch}</version> + <exclusions> + <exclusion> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>${version.org.json}</version> + </dependency> + <dependency> + <groupId>dev.gradleplugins</groupId> + <artifactId>gradle-api</artifactId> + <version>${gradle.version}</version> + </dependency> + <dependency> + <groupId>dev.gradleplugins</groupId> + <artifactId>gradle-test-kit</artifactId> + <version>${gradle.version}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-api</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-core</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-http-restful-ws</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-http-restful-ws-jakarta</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-http-vertx</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-json-jackson</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.cloudevents</groupId> + <artifactId>cloudevents-kafka</artifactId> + <version>${version.io.cloudevents}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>knative-client</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>knative-model</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>kubernetes-client</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>kubernetes-client-api</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>kubernetes-client-bom</artifactId> + <version>${version.io.fabric8}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>kubernetes-server-mock</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>openshift-client</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>openshift-client-api</artifactId> + <version>${version.io.fabric8.kubernetes-client}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-api</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-context</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-core</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-netty</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-netty-shaded</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-protobuf</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-protobuf-lite</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-stub</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-util</artifactId> + <version>${version.io.grpc}</version> + </dependency> + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-elastic</artifactId> + <version>${version.io.micrometer}</version> + </dependency> + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-prometheus</artifactId> + <version>${version.io.micrometer}</version> + </dependency> + <dependency> + <groupId>io.opentelemetry.proto</groupId> + <artifactId>opentelemetry-proto</artifactId> + <version>1.0.0-alpha</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.rest-assured</groupId> + <artifactId>json-path</artifactId> + <version>${version.io.rest-assured}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.rest-assured</groupId> + <artifactId>json-schema-validator</artifactId> + <version>${version.io.rest-assured}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.rest-assured</groupId> + <artifactId>rest-assured</artifactId> + <version>${version.io.rest-assured}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.rest-assured</groupId> + <artifactId>xml-path</artifactId> + <version>${version.io.rest-assured}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.serverlessworkflow</groupId> + <artifactId>serverlessworkflow-api</artifactId> + <version>${version.io.serverlessworkflow}</version> + </dependency> + <dependency> + <groupId>io.serverlessworkflow</groupId> + <artifactId>serverlessworkflow-diagram</artifactId> + <version>${version.io.serverlessworkflow}</version> + </dependency> + <dependency> + <groupId>io.serverlessworkflow</groupId> + <artifactId>serverlessworkflow-spi</artifactId> + <version>${version.io.serverlessworkflow}</version> + </dependency> + <dependency> + <groupId>io.serverlessworkflow</groupId> + <artifactId>serverlessworkflow-validation</artifactId> + <version>${version.io.serverlessworkflow}</version> + </dependency> + <dependency> + <groupId>io.smallrye.config</groupId> + <artifactId>smallrye-config-core</artifactId> + <version>${version.io.smallrye-config}</version> + </dependency> + <!-- <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>mutiny</artifactId> + <version>${version.io.sma}</version> + </dependency>--> + <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>mutiny-zero-flow-adapters</artifactId> + <version>${version.io.smallrye.reactive.mutiny-zero}</version> + </dependency> + <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-mutiny-vertx-auth-oauth2</artifactId> + <version>${version.io.smallrye.reactive.mutiny-vertx-web-client}</version> + </dependency> + <!-- <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-mutiny-vertx-kafka-client</artifactId> + </dependency>--> + <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-mutiny-vertx-web-client</artifactId> + <version>${version.io.smallrye.reactive.mutiny-vertx-web-client}</version> + </dependency> + <!-- <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-reactive-messaging-api</artifactId> + </dependency>--> + <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-reactive-messaging-in-memory</artifactId> + <version>${version.io.smallrye.reactive.messaging.in.memory}</version> + <scope>test</scope> + </dependency> + <!-- <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-reactive-messaging-kafka</artifactId> + </dependency> + <dependency> + <groupId>io.smallrye.reactive</groupId> + <artifactId>smallrye-reactive-messaging-provider</artifactId> + </dependency>--> + <dependency> + <groupId>io.smallrye</groupId> + <artifactId>smallrye-open-api-jaxrs</artifactId> + <version>${version.io.smallrye-open-api}</version> + </dependency> + <dependency> + <groupId>io.smallrye</groupId> + <artifactId>smallrye-open-api-spring</artifactId> + <version>${version.io.smallrye-open-api}</version> + </dependency> + <dependency> + <groupId>io.smallrye</groupId> + <artifactId>smallrye-open-api-ui</artifactId> + <version>${version.io.smallrye-open-api}</version> + </dependency> + <dependency> + <groupId>io.smallrye</groupId> + <artifactId>smallrye-open-api-vertx</artifactId> + <version>${version.io.smallrye-open-api}</version> + </dependency> + <dependency> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-core</artifactId> + <version>${version.io.swagger.core.v3}</version> + </dependency> + <dependency> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-model</artifactId> + <version>${version.io.swagger.core.v3}</version> + </dependency> + <!-- <dependency> + <groupId>io.vertx</groupId> + <artifactId>vertx-core</artifactId> + </dependency>--> + <dependency> + <groupId>io.vertx</groupId> + <artifactId>vertx-pg-client</artifactId> + <version>${version.io.vertx}</version> + </dependency> + <!-- <dependency> + <groupId>io.vertx</groupId> + <artifactId>vertx-web-client</artifactId> + </dependency> + <dependency> + <groupId>io.vertx</groupId> + <artifactId>vertx-web-graphql</artifactId> + </dependency>--> + <dependency> + <groupId>jakarta.validation</groupId> + <artifactId>jakarta.validation-api</artifactId> + <version>${version.jakarta.validation-api}</version> + </dependency> + <dependency> + <groupId>jakarta.ws.rs</groupId> + <artifactId>jakarta.ws.rs-api</artifactId> + <version>${version.jakarta.ws.rs}</version> + </dependency> + <dependency> + <groupId>net.javacrumbs.json-unit</groupId> + <artifactId>json-unit-assertj</artifactId> + <version>${version.org.json-unit-assertj}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>net.minidev</groupId> + <artifactId>json-smart</artifactId> + <version>${version.net.minidev.jsonsmart}</version> + </dependency> + <dependency> + <groupId>net.sf.saxon</groupId> + <artifactId>Saxon-HE</artifactId> + <version>${version.net.sf.saxon.Saxon-HE}</version> + </dependency> + <dependency> + <groupId>net.thisptr</groupId> + <artifactId>jackson-jq</artifactId> + <version>${version.net.thisptr.jackson-jq}</version> + </dependency> + <dependency> + <groupId>net.thisptr</groupId> + <artifactId>jackson-jq-extra</artifactId> + <version>${version.net.thisptr.jackson-jq}</version> + </dependency> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr4</artifactId> + <version>${version.org.antlr4}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.avro</groupId> + <artifactId>avro</artifactId> + <version>${version.org.apache.avro}</version> + </dependency> + <dependency> + <groupId>org.apache.groovy</groupId> + <artifactId>groovy</artifactId> + <version>${version.org.apache.groovy}</version> + </dependency> + <dependency> + <groupId>org.apache.groovy</groupId> + <artifactId>groovy-ant</artifactId> + <version>${version.org.apache.groovy}</version> + </dependency> + <dependency> + <groupId>org.apache.groovy</groupId> + <artifactId>groovy-json</artifactId> + <version>${version.org.apache.groovy}</version> + </dependency> + <dependency> + <groupId>org.apache.groovy</groupId> + <artifactId>groovy-xml</artifactId> + <version>${version.org.apache.groovy}</version> + </dependency> + <!-- <dependency> + <groupId>org.apache.kafka</groupId> + <artifactId>kafka-streams</artifactId> + </dependency>--> + <dependency> + <groupId>org.apache.maven.plugin-testing</groupId> + <artifactId>maven-plugin-testing-harness</artifactId> + <version>${plugin.testing.harness.version}</version> + </dependency> + <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-invoker</artifactId> + <version>${version.maven.invoker}</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-project</artifactId> + <version>${version.maven.project}</version> + </dependency> + <dependency> + <groupId>org.apache.pdfbox</groupId> + <artifactId>pdfbox</artifactId> + <version>${version.org.apache.pdfbox}</version> + </dependency> + <dependency> + <groupId>org.apache.tomcat.embed</groupId> + <artifactId>tomcat-embed-core</artifactId> + <version>${version.tomcat.embed.core}</version> + </dependency> + <dependency> + <groupId>org.apache.tomcat</groupId> + <artifactId>annotations-api</artifactId> + <version>${version.org.apache.tomcat}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.tomcat</groupId> + <artifactId>tomcat-dbcp</artifactId> + <version>${version.org.apache.tomcat.tomcat-dbcp}</version> + </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpkix-jdk18on</artifactId> + <version>${version.org.bouncycastle.bc.jdk18on}</version> + </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcprov-jdk18on</artifactId> + <version>${version.org.bouncycastle.bc.jdk18on}</version> + </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcutil-jdk18on</artifactId> + <version>${version.org.bouncycastle.bc.jdk18on}</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-classworlds</artifactId> + <version>${version.plexus.classworld}</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-annotations</artifactId> + <version>${version.plexus}</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-container-default</artifactId> + <version>${version.plexus}</version> + </dependency> + <dependency> + <groupId>org.eclipse.angus</groupId> + <artifactId>angus-mail</artifactId> + <version>${version.angus.mail}</version> + </dependency> + <!-- <dependency> + <groupId>org.eclipse.microprofile.health</groupId> + <artifactId>microprofile-health-api</artifactId> + </dependency>--> + <dependency> + <groupId>org.eclipse.microprofile.openapi</groupId> + <artifactId>microprofile-openapi-api</artifactId> + <version>${version.org.eclipse.microprofile.openapi}</version> + </dependency> + <dependency> + <groupId>org.flywaydb</groupId> + <artifactId>flyway-core</artifactId> + <version>${version.org.flywaydb}</version> + </dependency> + <dependency> + <groupId>org.flywaydb</groupId> + <artifactId>flyway-database-postgresql</artifactId> + <version>${version.org.flywaydb}</version> + </dependency> + <dependency> + <groupId>org.graalvm.js</groupId> + <artifactId>js</artifactId> + <version>${version.graalvm}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.graalvm.js</groupId> + <artifactId>js-scriptengine</artifactId> + <version>${version.graalvm}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.graalvm.nativeimage</groupId> + <artifactId>svm</artifactId> + <version>${version.org.graalvm.nativeimage}</version> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest</artifactId> + <version>${version.org.hamcrest}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-all</artifactId> + <version>1.3</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-ant</artifactId> + <version>${version.org.hibernate}</version> + </dependency> + <dependency> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${version.org.hibernate}</version> + </dependency> + <dependency> + <groupId>org.hsqldb</groupId> + <artifactId>hsqldb</artifactId> + <version>${version.org.hsqldb}</version> + </dependency> + <dependency> + <groupId>org.infinispan</groupId> + <artifactId>infinispan-bom</artifactId> + <version>${version.org.infinispan}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>org.infinispan</groupId> + <artifactId>infinispan-commons</artifactId> + <version>${version.org.infinispan}</version> + </dependency> + <dependency> + <groupId>org.infinispan</groupId> + <artifactId>infinispan-component-annotations</artifactId> + <version>${version.org.infinispan}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.infinispan</groupId> + <artifactId>infinispan-query-dsl</artifactId> + <version>${version.org.infinispan}</version> + </dependency> + <dependency> + <groupId>org.infinispan</groupId> + <artifactId>infinispan-remote-query-client</artifactId> + <version>${version.org.infinispan}</version> + </dependency> +<!-- <dependency> + <groupId>org.jboss.logging</groupId> + <artifactId>commons-logging-jboss-logging</artifactId> + <version>${version.org.jboss.logging}</version> + <scope>test</scope> + </dependency>--> + <!-- <dependency> + <groupId>org.jboss.logmanager</groupId> + <artifactId>jboss-logmanager</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.jboss.logmanager</groupId> + <artifactId>jboss-logmanager-embedded</artifactId> + <scope>test</scope> + </dependency>--> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-client</artifactId> + <version>${version.org.jboss.resteasy}</version> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-jackson2-provider</artifactId> + <version>${version.org.jboss.resteasy}</version> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-multipart-provider</artifactId> + <version>${version.org.jboss.resteasy}</version> + </dependency> + <!--<dependency> + <groupId>org.jboss.slf4j</groupId> + <artifactId>slf4j-jboss-logmanager</artifactId> + </dependency>--> + <dependency> + <groupId>org.jboss.weld.se</groupId> + <artifactId>weld-se-core</artifactId> + <version>${version.org.jboss.weld.weld}</version> + </dependency> + <!-- <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency>--> + <dependency> + <groupId>org.keycloak</groupId> + <artifactId>keycloak-core</artifactId> + <version>${version.org.keycloak}</version> + </dependency> + <!--<dependency> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct</artifactId> + </dependency>--> + <dependency> + <groupId>org.mongodb</groupId> + <artifactId>mongodb-driver-sync</artifactId> + <version>${version.org.mongo}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.mozilla</groupId> + <artifactId>rhino</artifactId> + <version>${version.org.mozilla.rhino}</version> + </dependency> + <dependency> + <groupId>org.mozilla</groupId> + <artifactId>rhino-engine</artifactId> + <version>${version.org.mozilla.rhino}</version> + </dependency> + <dependency> + <groupId>org.openjdk.nashorn</groupId> + <artifactId>nashorn-core</artifactId> + <version>${nashorn.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.reactivestreams</groupId> + <artifactId>reactive-streams</artifactId> + <version>${version.org.reactivestreams}</version> + </dependency> + <dependency> + <groupId>org.reflections</groupId> + <artifactId>reflections</artifactId> + <version>${version.org.reflections}</version> + </dependency> + <dependency> + <groupId>org.rocksdb</groupId> + <artifactId>rocksdbjni</artifactId> + <version>${version.org.rocksdb}</version> + </dependency> + <dependency> + <groupId>org.skyscreamer</groupId> + <artifactId>jsonassert</artifactId> + <version>${version.org.skyscreamer}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-nop</artifactId> + <version>${version.org.slf4j}</version> + </dependency> + <dependency> + <groupId>org.sonatype.sisu</groupId> + <artifactId>sisu-inject-plexus</artifactId> + <version>${sisu.inject.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.spockframework</groupId> + <artifactId>spock-core</artifactId> + <version>${version.org.spockframework}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> + <version>${version.org.springdoc}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>junit-jupiter</artifactId> + <version>${version.org.testcontainers}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>postgresql</artifactId> + <version>${version.org.testcontainers}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers</artifactId> + <version>${version.org.testcontainers}</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-database-commons</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-jdbc</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-junit-jupiter</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-kafka</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-mongodb</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-oracle-xe</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-postgresql</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>testcontainers-toxiproxy</artifactId> + <version>${version.org.testcontainers}</version> + </dependency> + <dependency> + <groupId>org.webjars</groupId> + <artifactId>bootstrap</artifactId> + <version>${version.org.webjars.bootstrap}</version> + </dependency> + <dependency> + <groupId>org.webjars</groupId> + <artifactId>jquery</artifactId> + <version>${version.org.webjars.jquery}</version> + </dependency> + <dependency> + <groupId>org.wiremock</groupId> + <artifactId>wiremock</artifactId> + <version>${version.org.wiremock}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.wiremock</groupId> + <artifactId>wiremock-standalone</artifactId> + <version>${version.org.wiremock}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.wiremock</groupId> + <artifactId>wiremock-webhooks-extension</artifactId> + <version>${version.org.wiremock.webhooks}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>simple-jndi</groupId> + <artifactId>simple-jndi</artifactId> + <version>${version.simple-jndi}</version> + </dependency> - </dependencyManagement> + <dependency> + <groupId>org.drools</groupId> + <artifactId>drools-verifier-test-jar</artifactId> + <version>1.0.0</version> + </dependency> + + <dependency> + <groupId>org.drools</groupId> + <artifactId>kiebase-inclusion</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>org.drools.testcoverage</groupId> + <artifactId>drools-kie-ci-with-domain-test-domain</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.drools.testcoverage</groupId> + <artifactId>drools-kie-ci-without-domain-test-domain</artifactId> + <version>${project.version}</version> + </dependency> + + </dependencies> + </dependencyManagement> <build> <pluginManagement> @@ -1371,6 +2364,11 @@ <artifactId>extra-enforcer-rules</artifactId> <version>1.0</version> </dependency> + <dependency> + <groupId>org.kie</groupId> + <artifactId>kie-no-dependencymanagement-rule</artifactId> + <version>${project.version}</version> + </dependency> </dependencies> <executions> <execution> @@ -1561,6 +2559,30 @@ <fail>${enforcer.failOnBannedDependencies}</fail> </configuration> </execution> + <execution> + <id>no-dependendymanagement</id> + <configuration> + <rules> + <noDependencyManagementRule> + <allowedPoms>${allowedPomsList}</allowedPoms> + </noDependencyManagementRule> + </rules> + </configuration> + <goals> + <goal>enforce</goal> + </goals> + </execution> + <!-- <execution> + <id>dependencies-convergence</id> + <goals> + <goal>enforce</goal> + </goals> + <configuration> + <rules> + <dependencyConvergence/> + </rules> + </configuration> + </execution>--> </executions> </plugin> <plugin> diff --git a/drools-examples-api/pom.xml b/drools-examples-api/pom.xml index c7b3cef379..f1976f7199 100644 --- a/drools-examples-api/pom.xml +++ b/drools-examples-api/pom.xml @@ -36,16 +36,6 @@ <packaging>pom</packaging> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.drools</groupId> - <artifactId>kiebase-inclusion</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - </dependencyManagement> - <modules> <module>default-kiesession</module> <module>named-kiesession</module> diff --git a/drools-examples/pom.xml b/drools-examples/pom.xml index 870cb960e3..cee9c444f2 100644 --- a/drools-examples/pom.xml +++ b/drools-examples/pom.xml @@ -61,16 +61,6 @@ </plugins> </build> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>com.miglayout</groupId> - <artifactId>miglayout</artifactId> - <version>${version.com.miglayout}</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <!-- Internal dependencies --> <dependency> diff --git a/drools-model/drools-model-codegen/pom.xml b/drools-model/drools-model-codegen/pom.xml index 174224e2c0..50b40073d7 100644 --- a/drools-model/drools-model-codegen/pom.xml +++ b/drools-model/drools-model-codegen/pom.xml @@ -30,7 +30,6 @@ <version>999-SNAPSHOT</version> </parent> - <groupId>org.drools</groupId> <artifactId>drools-model-codegen</artifactId> <name>Drools :: Model :: Codegen</name> @@ -39,23 +38,6 @@ <java.module.name>org.drools.model.codegen</java.module.name> </properties> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.openjdk.jmh</groupId> - <artifactId>jmh-core</artifactId> - <version>${version.org.openjdk.jmh}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.openjdk.jmh</groupId> - <artifactId>jmh-generator-annprocess</artifactId> - <version>${version.org.openjdk.jmh}</version> - <scope>test</scope> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <dependency> <groupId>org.drools</groupId> diff --git a/drools-persistence/drools-persistence-jpa/pom.xml b/drools-persistence/drools-persistence-jpa/pom.xml index 914db80138..f243bf2033 100644 --- a/drools-persistence/drools-persistence-jpa/pom.xml +++ b/drools-persistence/drools-persistence-jpa/pom.xml @@ -79,16 +79,6 @@ </plugins> </build> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.jboss.weld.se</groupId> - <artifactId>weld-se-core</artifactId> - <version>${version.org.jboss.weld.weld}</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <dependency> <groupId>org.kie</groupId> diff --git a/drools-templates/pom.xml b/drools-templates/pom.xml index 286ae1e329..5a35d34a45 100644 --- a/drools-templates/pom.xml +++ b/drools-templates/pom.xml @@ -39,16 +39,6 @@ <java.module.name>org.drools.templates</java.module.name> </properties> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <version>${version.org.hsqldb}</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <!-- Internal dependencies --> <dependency> diff --git a/drools-test-coverage/standalone/kie-ci-with-domain/pom.xml b/drools-test-coverage/standalone/kie-ci-with-domain/pom.xml index 7e3090a231..541c958577 100644 --- a/drools-test-coverage/standalone/kie-ci-with-domain/pom.xml +++ b/drools-test-coverage/standalone/kie-ci-with-domain/pom.xml @@ -43,14 +43,4 @@ <module>tests</module> </modules> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.drools.testcoverage</groupId> - <artifactId>drools-kie-ci-with-domain-test-domain</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - </dependencyManagement> - </project> diff --git a/drools-test-coverage/standalone/kie-ci-without-domain/pom.xml b/drools-test-coverage/standalone/kie-ci-without-domain/pom.xml index 9f58d0a603..b5e6209830 100644 --- a/drools-test-coverage/standalone/kie-ci-without-domain/pom.xml +++ b/drools-test-coverage/standalone/kie-ci-without-domain/pom.xml @@ -43,14 +43,4 @@ <module>tests</module> </modules> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.drools.testcoverage</groupId> - <artifactId>drools-kie-ci-without-domain-test-domain</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - </dependencyManagement> - </project> diff --git a/drools-verifier/drools-verifier-drl/pom.xml b/drools-verifier/drools-verifier-drl/pom.xml index 474178b3a6..0f60322c41 100644 --- a/drools-verifier/drools-verifier-drl/pom.xml +++ b/drools-verifier/drools-verifier-drl/pom.xml @@ -38,21 +38,6 @@ <java.module.name>org.drools.verifier</java.module.name> </properties> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.apache.pdfbox</groupId> - <artifactId>pdfbox</artifactId> - <version>${version.org.apache.pdfbox}</version> - </dependency> - <dependency> - <groupId>org.drools</groupId> - <artifactId>drools-verifier-test-jar</artifactId> - <version>1.0.0</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <!-- Internal dependencies --> <dependency> diff --git a/kie-no-dependencymanagement-rule/pom.xml b/kie-no-dependencymanagement-rule/pom.xml new file mode 100644 index 0000000000..e02dbdb9b7 --- /dev/null +++ b/kie-no-dependencymanagement-rule/pom.xml @@ -0,0 +1,95 @@ +<?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"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.kie</groupId> + <artifactId>drools-parent</artifactId> + <version>999-SNAPSHOT</version> + </parent> + + <artifactId>kie-no-dependencymanagement-rule</artifactId> + <name>Drools :: No Dependency Management Rule</name> + <description>Enforcer rule to forbid declaration of dependencyManagement tag in pom.</description> + + <!-- Since the drools-build-parent pom depends on this rule, we can't inherit properties from it here --> + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <version.enforcer.api>3.6.2</version.enforcer.api> + <version.org.apache.maven>3.9.11</version.org.apache.maven> + <version.sisu.maven.plugin>1.0.0</version.sisu.maven.plugin> + </properties> + + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.apache.maven.enforcer</groupId> + <artifactId>enforcer-api</artifactId> + <version>${version.enforcer.api}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>${version.org.apache.maven}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>javax.inject</groupId> + <artifactId>javax.inject</artifactId> + <version>1</version> + <scope>provided</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>org.apache.maven.enforcer</groupId> + <artifactId>enforcer-api</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>javax.inject</groupId> + <artifactId>javax.inject</artifactId> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <pluginManagement> + <plugins> + <plugin> + <!-- generate index of project components --> + <groupId>org.eclipse.sisu</groupId> + <artifactId>sisu-maven-plugin</artifactId> + <version>${version.sisu.maven.plugin}</version> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <!-- generate index of project components --> + <groupId>org.eclipse.sisu</groupId> + <artifactId>sisu-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>main-index</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> \ No newline at end of file diff --git a/kie-no-dependencymanagement-rule/src/main/java/org/kie/nodependencymanagementrule/NoDependencyManagementRule.java b/kie-no-dependencymanagement-rule/src/main/java/org/kie/nodependencymanagementrule/NoDependencyManagementRule.java new file mode 100644 index 0000000000..1980ab38d8 --- /dev/null +++ b/kie-no-dependencymanagement-rule/src/main/java/org/kie/nodependencymanagementrule/NoDependencyManagementRule.java @@ -0,0 +1,97 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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. + */ +package org.kie.nodependencymanagementrule; + +import java.util.List; +import java.util.Objects; + +import javax.inject.Inject; +import javax.inject.Named; + +import java.util.Set; +import org.apache.maven.enforcer.rule.api.AbstractEnforcerRule; +import org.apache.maven.enforcer.rule.api.EnforcerRuleException; +import org.apache.maven.project.MavenProject; + +/** + * No DependencyManagement Enforcer Rule + * This rule is meant to forbid dependencyManagement tag in pom + */ +@Named("noDependencyManagementRule") +public class NoDependencyManagementRule extends AbstractEnforcerRule { + + // Inject needed Maven components + private final MavenProject project; + + /** + * Set of allowed poms. + */ + private Set<String> allowedPoms; + + @Inject + public NoDependencyManagementRule(MavenProject project) { + this.project = Objects.requireNonNull(project); + } + + public void execute() throws EnforcerRuleException { + if (!isAllowed(project.getGroupId(), project.getArtifactId())) { + checkForDependencyManagement(); + } + } + + private void checkForDependencyManagement() throws EnforcerRuleException { + if (project.getDependencyManagement() != null && project.getDependencyManagement().getLocation("") != null) { // The getLocation("") retrieve the position, in the pom, of that specific dependencyManagement element; it is null when such an element is inherited + throw new EnforcerRuleException(String.format("The current pom %s:%s:%s has dependencyManagement tag!", project.getGroupId(), project.getArtifactId(), project.getVersion())); + } + } + + private boolean isAllowed(String groupId, String artifactId) { + String ga = String.format("%s:%s", groupId, artifactId); + return allowedPoms != null && !allowedPoms.isEmpty() && allowedPoms.contains(ga); + } + + /* *//** + * If your rule is cacheable, you must return a unique id when parameters or conditions + * change that would cause the result to be different. Multiple cached results are stored + * based on their id. + * <p> + * The easiest way to do this is to return a hash computed from the values of your parameters. + * <p> + * If your rule is not cacheable, then you don't need to override this method or return null + *//* + * @Override + * public String getCacheId() { + * //no hash on boolean...only parameter so no hash is needed. + * return Boolean.toString(shouldIfail); + * } + */ + + /** + * A good practice is provided toString method for Enforcer Rule. + * <p> + * Output is used in verbose Maven logs, can help during investigate problems. + * + * @return rule description + */ + @Override + public String toString() { + return "NoDependencyManagementRule"; + } + +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-drools/pom.xml b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-drools/pom.xml index 7b948f5ebe..24ea75ea05 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-drools/pom.xml +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-drools/pom.xml @@ -39,22 +39,22 @@ <module>kie-pmml-models-drools-scorecard</module> </modules> - <dependencyManagement> +<!-- <dependencyManagement> <dependencies> - <dependency> + <!–<dependency> <groupId>org.kie</groupId> <artifactId>kie-drl-compilation-common</artifactId> <version>${project.version}</version> <scope>test</scope> - </dependency> - <dependency> + </dependency>–> + <!–<dependency> <groupId>org.kie</groupId> <artifactId>kie-drl-map-input-runtime</artifactId> <version>${project.version}</version> <scope>test</scope> - </dependency> + </dependency>–> </dependencies> - </dependencyManagement> + </dependencyManagement>--> <build> <plugins> diff --git a/kie-pmml-trusty/pom.xml b/kie-pmml-trusty/pom.xml index 1bf9a52d7c..048f5b8d38 100644 --- a/kie-pmml-trusty/pom.xml +++ b/kie-pmml-trusty/pom.xml @@ -50,18 +50,6 @@ <module>kie-pmml-api</module> </modules> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.kie</groupId> - <artifactId>kie-pmml-bom</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <dependency> <groupId>org.assertj</groupId> diff --git a/kie-test-util/pom.xml b/kie-test-util/pom.xml index 448bb2f3f6..c611b703e4 100644 --- a/kie-test-util/pom.xml +++ b/kie-test-util/pom.xml @@ -38,23 +38,6 @@ <java.module.name>org.kie.testutil</java.module.name> </properties> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.apache.tomcat</groupId> - <artifactId>tomcat-dbcp</artifactId> - <version>${version.org.apache.tomcat.tomcat-dbcp}</version> - </dependency> - - <!-- simple-jndi is a small library that helps us avoid JNDI error messages during testing --> - <dependency> - <groupId>simple-jndi</groupId> - <artifactId>simple-jndi</artifactId> - <version>${version.simple-jndi}</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <!-- IMPORTANT! Do not add any drools/jbpm/kie dependencies here. --> <!-- This is meant to be a lightweight test utility artifact. --> diff --git a/kie-util/kie-util-maven-integration/pom.xml b/kie-util/kie-util-maven-integration/pom.xml index fd416f1f66..d656616a24 100644 --- a/kie-util/kie-util-maven-integration/pom.xml +++ b/kie-util/kie-util-maven-integration/pom.xml @@ -37,16 +37,6 @@ <java.module.name>org.kie.util.maven.integration</java.module.name> </properties> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpcore</artifactId> - <version>${version.org.apache.httpcomponents.httpcore}</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <dependency> <groupId>org.kie</groupId> diff --git a/pom.xml b/pom.xml index 982f8dbabf..c3af13900f 100644 --- a/pom.xml +++ b/pom.xml @@ -133,6 +133,7 @@ </build> <modules> + <module>kie-no-dependencymanagement-rule</module> <module>bom</module> <module>build-parent</module> <module>kie-api</module> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
