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>
+      &lt;!&ndash;<dependency>
         <groupId>org.kie</groupId>
         <artifactId>kie-drl-compilation-common</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
-      </dependency>
-      <dependency>
+      </dependency>&ndash;&gt;
+      &lt;!&ndash;<dependency>
         <groupId>org.kie</groupId>
         <artifactId>kie-drl-map-input-runtime</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
-      </dependency>
+      </dependency>&ndash;&gt;
     </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]

Reply via email to