This is an automated email from the ASF dual-hosted git repository.

tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new 50ee6dc0fc6 NO-ISSUE: Stop depending on timestamped SNAPSHOTs (#3170)
50ee6dc0fc6 is described below

commit 50ee6dc0fc6a30e23315b751fa2d8aeae0f0e682
Author: Tiago Bento <[email protected]>
AuthorDate: Thu Jun 12 14:57:48 2025 -0400

    NO-ISSUE: Stop depending on timestamped SNAPSHOTs (#3170)
    
    Co-authored-by: Thiago Lugli <[email protected]>
---
 .github/workflows/ci_build.yml                     |   2 +-
 devbox.json                                        |   3 +-
 devbox.lock                                        |  62 +++++
 packages/dev-deployment-quarkus-blank-app/pom.xml  |   6 +
 .../.gitignore                                     |   1 +
 .../package.json                                   |   9 +-
 ...MarshallerBackendCompatibilityTesterScript.java |   2 +-
 .../src/index.ts                                   |   7 +
 packages/drools-and-kogito/.gitignore              |   1 +
 .../drools-and-kogito}/README.md                   |   8 +-
 packages/drools-and-kogito/env/index.js            | 102 +++++++++
 packages/drools-and-kogito/install.js              | 254 +++++++++++++++++++++
 packages/drools-and-kogito/package.json            |  14 ++
 packages/extended-services/env/index.js            |  10 +-
 packages/extended-services/package.json            |  12 +-
 .../git-repo-content-src/pom.xml.envsubst          |   2 +-
 .../kn-plugin-workflow/e2e-tests/helper_test.go    |   7 +-
 packages/kn-plugin-workflow/package.json           |   1 +
 .../kogito-data-index-ephemeral-image/install.js   |   7 +
 .../kogito-data-index-ephemeral-image/package.json |   4 +-
 .../kogito-data-index-postgresql-image/install.js  |   7 +
 .../package.json                                   |   4 +-
 packages/kogito-jit-runner-image/install.js        |   7 +
 packages/kogito-jit-runner-image/package.json      |   4 +-
 .../kogito-jobs-service-allinone-image/install.js  |   7 +
 .../package.json                                   |   4 +-
 .../kogito-jobs-service-ephemeral-image/install.js |   7 +
 .../package.json                                   |   4 +-
 .../install.js                                     |   7 +
 .../package.json                                   |   4 +-
 packages/maven-base/index.js                       |   2 +-
 packages/maven-base/package.json                   |   3 +
 packages/maven-base/pom.xml                        |   2 +-
 packages/maven-base/settings.xml                   |   2 +-
 packages/root-env/env/index.js                     |   2 +-
 .../package.json                                   |   4 +-
 packages/sonataflow-builder-image/package.json     |   7 +-
 .../maven-m2-repo-via-http-settings.xml.envsubst   |   2 +-
 packages/stunner-editors/package.json              |   4 +-
 packages/stunner-editors/pom.xml                   |   6 +
 pnpm-lock.yaml                                     |  56 ++++-
 repo/KOGITO_UPGRADE_PROCESS.md                     |  99 ++++----
 repo/graph.dot                                     |  26 ++-
 repo/graph.json                                    |  19 +-
 scripts/update-kogito-version/README.md            |   6 +-
 .../update-kogito-version/update_kogito_version.js |  62 ++++-
 46 files changed, 753 insertions(+), 118 deletions(-)

diff --git a/.github/workflows/ci_build.yml b/.github/workflows/ci_build.yml
index 93f09344a54..16a3e16e83b 100644
--- a/.github/workflows/ci_build.yml
+++ b/.github/workflows/ci_build.yml
@@ -111,7 +111,7 @@ jobs:
         if: steps.setup_build_mode.outputs.mode != 'none'
         env:
           MAVEN_ARGS: "-B -Puse-maven-repo-local-tail"
-          MAVEN_OPTS: "-Xmx2g"
+          MAVEN_OPTS: "-Xmx3g"
         uses: ./.github/actions/bootstrap
         with:
           pnpm_filter_string: ${{ 
steps.setup_build_mode.outputs.bootstrapPnpmFilterString }}
diff --git a/devbox.json b/devbox.json
index 7bc9d7ae054..8e268de043c 100644
--- a/devbox.json
+++ b/devbox.json
@@ -8,7 +8,8 @@
     "gnumake": "4.4.1",
     "go": "1.23.8",
     "python": "3.12.2",
-    "libxml2": "2.13.3"
+    "libxml2": "2.13.3",
+    "glibcLocales": "2.40-66"
   },
   "env": {
     "PLAYWRIGHT_BROWSERS_PATH": "0",
diff --git a/devbox.lock b/devbox.lock
index c14675d9687..0963004976e 100644
--- a/devbox.lock
+++ b/devbox.lock
@@ -1,6 +1,34 @@
 {
   "lockfile_version": "1",
   "packages": {
+    "[email protected]": {
+      "last_modified": "2025-05-16T20:19:48Z",
+      "resolved": 
"github:NixOS/nixpkgs/12a55407652e04dcf2309436eb06fef0d3713ef3#glibcLocales",
+      "source": "devbox-search",
+      "version": "2.40-66",
+      "systems": {
+        "aarch64-linux": {
+          "outputs": [
+            {
+              "name": "out",
+              "path": 
"/nix/store/2hb8s2i45cx30qqhayzzsfbg12k8d8fs-glibc-locales-2.40-66",
+              "default": true
+            }
+          ],
+          "store_path": 
"/nix/store/2hb8s2i45cx30qqhayzzsfbg12k8d8fs-glibc-locales-2.40-66"
+        },
+        "x86_64-linux": {
+          "outputs": [
+            {
+              "name": "out",
+              "path": 
"/nix/store/d91i3lzpkii5kabfx1kxvl3banc47min-glibc-locales-2.40-66",
+              "default": true
+            }
+          ],
+          "store_path": 
"/nix/store/d91i3lzpkii5kabfx1kxvl3banc47min-glibc-locales-2.40-66"
+        }
+      }
+    },
     "[email protected]": {
       "last_modified": "2024-10-13T23:44:06Z",
       "resolved": 
"github:NixOS/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732#gnumake",
@@ -221,10 +249,44 @@
       "source": "devbox-search",
       "version": "17.0.9",
       "systems": {
+        "aarch64-darwin": {
+          "outputs": [
+            {
+              "name": "out",
+              "path": 
"/nix/store/6dfds89qqlzg4rdp9bf3nlpisx05lmcj-temurin-bin-17.0.9",
+              "default": true
+            }
+          ],
+          "store_path": 
"/nix/store/6dfds89qqlzg4rdp9bf3nlpisx05lmcj-temurin-bin-17.0.9"
+        },
         "aarch64-linux": {
+          "outputs": [
+            {
+              "name": "out",
+              "path": 
"/nix/store/xbkf0hfcaw0jbqf7pm70xwinn655pz50-temurin-bin-17.0.9",
+              "default": true
+            }
+          ],
           "store_path": 
"/nix/store/xbkf0hfcaw0jbqf7pm70xwinn655pz50-temurin-bin-17.0.9"
         },
+        "x86_64-darwin": {
+          "outputs": [
+            {
+              "name": "out",
+              "path": 
"/nix/store/rxi440bp4g1njffgrbl5w1209hclawxn-temurin-bin-17.0.9",
+              "default": true
+            }
+          ],
+          "store_path": 
"/nix/store/rxi440bp4g1njffgrbl5w1209hclawxn-temurin-bin-17.0.9"
+        },
         "x86_64-linux": {
+          "outputs": [
+            {
+              "name": "out",
+              "path": 
"/nix/store/55gj16bms465y8giaf5jch2bbs12yrbf-temurin-bin-17.0.9",
+              "default": true
+            }
+          ],
           "store_path": 
"/nix/store/55gj16bms465y8giaf5jch2bbs12yrbf-temurin-bin-17.0.9"
         }
       }
diff --git a/packages/dev-deployment-quarkus-blank-app/pom.xml 
b/packages/dev-deployment-quarkus-blank-app/pom.xml
index 0558c6650e4..114be03f593 100644
--- a/packages/dev-deployment-quarkus-blank-app/pom.xml
+++ b/packages/dev-deployment-quarkus-blank-app/pom.xml
@@ -410,6 +410,9 @@
       <releases>
         <enabled>false</enabled>
       </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
     </repository>
   </repositories>
   <pluginRepositories>
@@ -420,6 +423,9 @@
       <releases>
         <enabled>false</enabled>
       </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
     </pluginRepository>
   </pluginRepositories>
 </project>
diff --git a/packages/dmn-marshaller-backend-compatibility-tester/.gitignore 
b/packages/dmn-marshaller-backend-compatibility-tester/.gitignore
new file mode 100644
index 00000000000..e3ab2736bdb
--- /dev/null
+++ b/packages/dmn-marshaller-backend-compatibility-tester/.gitignore
@@ -0,0 +1 @@
+dist-m2
\ No newline at end of file
diff --git a/packages/dmn-marshaller-backend-compatibility-tester/package.json 
b/packages/dmn-marshaller-backend-compatibility-tester/package.json
index 9744e53ab2c..3c2d0150bac 100644
--- a/packages/dmn-marshaller-backend-compatibility-tester/package.json
+++ b/packages/dmn-marshaller-backend-compatibility-tester/package.json
@@ -20,17 +20,22 @@
     "src"
   ],
   "scripts": {
-    "build:dev": "rimraf dist && tsc -p tsconfig.json && pnpm prefetch",
+    "build:dev": "rimraf dist dist-m2 && tsc -p tsconfig.json && pnpm 
prefetch",
     "build:prod": "pnpm build:dev",
-    "prefetch": "node dist/dependenciesFetch.js"
+    "prefetch": "run-script-os",
+    "prefetch:darwin:linux": "cross-env JBANG_REPO=$(node -p 
\"require('path').resolve('dist-m2')\") node dist/dependenciesFetch.js",
+    "prefetch:win32": "pnpm powershell \"cross-env JBANG_REPO=$(Resolve-Path . 
| Write-Host)\\dist-m2 node dist/dependenciesFetch.js\""
   },
   "dependencies": {
     "@jbangdev/jbang": "0.2.3"
   },
   "devDependencies": {
+    "@kie-tools-core/drools-and-kogito": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/tsconfig": "workspace:*",
+    "cross-env": "^7.0.3",
     "rimraf": "^3.0.2",
+    "run-script-os": "^1.1.6",
     "typescript": "^5.5.3"
   }
 }
diff --git 
a/packages/dmn-marshaller-backend-compatibility-tester/src/DmnMarshallerBackendCompatibilityTesterScript.java
 
b/packages/dmn-marshaller-backend-compatibility-tester/src/DmnMarshallerBackendCompatibilityTesterScript.java
index e6a42b03242..fcd4066c03e 100644
--- 
a/packages/dmn-marshaller-backend-compatibility-tester/src/DmnMarshallerBackendCompatibilityTesterScript.java
+++ 
b/packages/dmn-marshaller-backend-compatibility-tester/src/DmnMarshallerBackendCompatibilityTesterScript.java
@@ -19,7 +19,7 @@
 
 ///usr/bin/env jbang "$0" "$@" ; exit $?
 //JAVA 17
-//REPOS 
mavencentral,apache=https://repository.apache.org/content/groups/public/
+//REPOS droolsAndKogito=file://${droolsAndKogitoLocalM2Repo},mavencentral
 //DEPS org.kie:drools-build-parent:${kogito-runtime.version}@pom
 //DEPS ch.qos.logback:logback-classic:1.2.13
 //DEPS info.picocli:picocli:4.7.5
diff --git a/packages/dmn-marshaller-backend-compatibility-tester/src/index.ts 
b/packages/dmn-marshaller-backend-compatibility-tester/src/index.ts
index 00c77f548bd..2daffc1f55f 100644
--- a/packages/dmn-marshaller-backend-compatibility-tester/src/index.ts
+++ b/packages/dmn-marshaller-backend-compatibility-tester/src/index.ts
@@ -82,6 +82,13 @@ function executeScript(scriptPath: string, args?: string[]) {
 
   const jbangArgs = [] as string[];
   jbangArgs.push("-Dkogito-runtime.version=" + env.versions.kogito);
+  jbangArgs.push(
+    "-DdroolsAndKogitoLocalM2Repo=" +
+      path.join(
+        
path.dirname(require.resolve("@kie-tools-core/drools-and-kogito/package.json")),
+        "dist/1st-party-m2/repository"
+      )
+  );
   jbangArgs.push(scriptPath);
   args?.forEach((arg) => jbangArgs.push(quoteChar + arg + quoteChar));
 
diff --git a/packages/drools-and-kogito/.gitignore 
b/packages/drools-and-kogito/.gitignore
new file mode 100644
index 00000000000..1171128a2c3
--- /dev/null
+++ b/packages/drools-and-kogito/.gitignore
@@ -0,0 +1 @@
+dist-tmp
\ No newline at end of file
diff --git a/scripts/update-kogito-version/README.md 
b/packages/drools-and-kogito/README.md
similarity index 70%
copy from scripts/update-kogito-version/README.md
copy to packages/drools-and-kogito/README.md
index ab3821f640a..0abfa6aa6fd 100644
--- a/scripts/update-kogito-version/README.md
+++ b/packages/drools-and-kogito/README.md
@@ -15,13 +15,13 @@
    under the License.
 -->
 
-## @kie-tools-scripts/update-version
+## @kie-tools-core/drools-and-kogito
 
-Updates the default value of `KOGITO_RUNTIME_version` of `packages/root-env` 
and runs `pnpm bootstrap` at the end.
+Builds Drools, OptaPlanner, Kogito Runtimes, and Kogito Apps without 
installing any Maven artifacts to the local Maven repository. This package will 
skip the `install` phase and deploy the build result to `./dist/1st-party-m2`, 
so that there's no pollution of the local Maven repository.
 
-### Usage
+A build is only triggered when the Kogito version (defined in 
`@kie-tools/root-env`, via `KOGITO_RUNTIME_version`) ends with `-local` (E.g., 
`999-20250511-local`). Otherwise, this package assumes that the version is 
coming from a remote Maven repository, or is already installed locally in the 
local Maven repository. For versions not ending on `-local`, you can still have 
this package trigger a build by using the `DROOLS_AND_KOGITO__forceBuild` env 
var.
 
-`pnpm update-kogito-version-to --maven [new-version]`
+This package has no build scripts, rather a single `install` script, meant to 
run when the `kie-tools` repository is bootstrapping via `pnpm bootstrap`.
 
 ---
 
diff --git a/packages/drools-and-kogito/env/index.js 
b/packages/drools-and-kogito/env/index.js
new file mode 100644
index 00000000000..4d8b8a27bf5
--- /dev/null
+++ b/packages/drools-and-kogito/env/index.js
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+
+const { varsWithName, composeEnv, getOrDefault, str2bool } = 
require("@kie-tools-scripts/build-env");
+
+const rootEnv = require("@kie-tools/root-env/env");
+
+module.exports = composeEnv([rootEnv], {
+  vars: varsWithName({
+    DROOLS_AND_KOGITO__droolsRepoUrl: {
+      default: "https://github.com/apache/incubator-kie-drools";,
+      description: "Git repository URL for Drools",
+    },
+    DROOLS_AND_KOGITO__droolsRepoGitRef: {
+      default: "878fe13a914a8fe274dd0fcc5dda40290e2c0e2b",
+      description: "Git ref for the Drools repository (SHA, branch, or tag)",
+    },
+    DROOLS_AND_KOGITO__optaplannerRepoUrl: {
+      default: "https://github.com/apache/incubator-kie-optaplanner";,
+      description: "Git repository URL for OptaPlanner",
+    },
+    DROOLS_AND_KOGITO__optaplannerRepoGitRef: {
+      default: "55b583cd4dfaf9185c316e12a94dc159b36e2708",
+      description: "Git ref for the OptaPlanner repository (SHA, branch, or 
tag)",
+    },
+    DROOLS_AND_KOGITO__kogitoRuntimesRepoUrl: {
+      default: "https://github.com/apache/incubator-kie-kogito-runtimes";,
+      description: "Git repository URL for Kogito Runtimes",
+    },
+    DROOLS_AND_KOGITO__kogitoRuntimesRepoGitRef: {
+      default: "74159c722b1b4eb4a6f5ab70a7981bb5df93f136",
+      description: "Git ref for the Kogito Runtimes repository (SHA, branch, 
or tag)",
+    },
+    DROOLS_AND_KOGITO__kogitoAppsRepoUrl: {
+      default: "https://github.com/apache/incubator-kie-kogito-apps";,
+      description: "Git repository URL for Kogito Apps",
+    },
+    DROOLS_AND_KOGITO__kogitoAppsRepoGitRef: {
+      default: "0500270f74822858c717ee60e50c07dc18983fcb",
+      description: "Git ref for the Kogito Apps repository (SHA, branch, or 
tag)",
+    },
+    DROOLS_AND_KOGITO__skip: {
+      default: `${false}`,
+      description:
+        "Whether or not to skip the entire package. No artifacts will be 
downloaded nor built when this flag is 'true'.",
+    },
+    DROOLS_AND_KOGITO__forceBuild: {
+      default: `${false}`,
+      description: "Will always build, even if there's a cached build 
available.",
+    },
+    DROOLS_AND_KOGITO__cacheDownloadCommand: {
+      default: `gh run download --name 
drools-and-kogito-cached-build-for-${rootEnv.env.versions.kogito} --dir dist`,
+      description:
+        "Shell command that will try to restore a cached build matching the 
build info supplied via this package's env vars.",
+    },
+  }),
+  get env() {
+    return {
+      droolsAndKogito: {
+        skip: str2bool(getOrDefault(this.vars.DROOLS_AND_KOGITO__skip)),
+        forceBuild: 
str2bool(getOrDefault(this.vars.DROOLS_AND_KOGITO__forceBuild)),
+        repos: {
+          drools: {
+            url: getOrDefault(this.vars.DROOLS_AND_KOGITO__droolsRepoUrl),
+            gitRef: 
getOrDefault(this.vars.DROOLS_AND_KOGITO__droolsRepoGitRef),
+          },
+          optaplanner: {
+            url: getOrDefault(this.vars.DROOLS_AND_KOGITO__optaplannerRepoUrl),
+            gitRef: 
getOrDefault(this.vars.DROOLS_AND_KOGITO__optaplannerRepoGitRef),
+          },
+          kogitoRuntimes: {
+            url: 
getOrDefault(this.vars.DROOLS_AND_KOGITO__kogitoRuntimesRepoUrl),
+            gitRef: 
getOrDefault(this.vars.DROOLS_AND_KOGITO__kogitoRuntimesRepoGitRef),
+          },
+          kogitoApps: {
+            url: getOrDefault(this.vars.DROOLS_AND_KOGITO__kogitoAppsRepoUrl),
+            gitRef: 
getOrDefault(this.vars.DROOLS_AND_KOGITO__kogitoAppsRepoGitRef),
+          },
+        },
+        cache: {
+          download: 
getOrDefault(this.vars.DROOLS_AND_KOGITO__cacheDownloadCommand),
+        },
+      },
+    };
+  },
+});
diff --git a/packages/drools-and-kogito/install.js 
b/packages/drools-and-kogito/install.js
new file mode 100644
index 00000000000..fd83212f669
--- /dev/null
+++ b/packages/drools-and-kogito/install.js
@@ -0,0 +1,254 @@
+/*
+ * 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.
+ */
+
+const execSync = require("child_process").execSync;
+const fs = require("fs");
+const path = require("path");
+const { env } = require("./env");
+const buildEnv = env;
+const execOpts = { stdio: "inherit" };
+
+///
+
+const DIST_REPO = path.resolve("./dist/1st-party-m2/repository");
+
+if (buildEnv.droolsAndKogito.skip) {
+  console.log(`[drools-and-kogito] Skip is on. Exiting.`);
+  console.log(`[drools-and-kogito] Done.`);
+  process.exit(0);
+}
+
+if (!buildEnv.versions.kogito.endsWith("-local") && 
!buildEnv.droolsAndKogito.forceBuild) {
+  console.log(`[drools-and-kogito] Detected a non-local version for Drools and 
Kogito.`);
+  console.log(
+    `[drools-and-kogito] Building will not occur, as this version is expected 
to be either present on the local Maven repository (E.g., ~/.m2), or published 
in some publicly available Maven repository so that it can be downloaded.`
+  );
+  console.log(`[drools-and-kogito] Done.`);
+  process.exit(0);
+}
+
+const buildInfo = getBuildInfo();
+
+console.log(`[drools-and-kogito] Build info:`);
+console.log(JSON.stringify(buildInfo, null, 2));
+
+const buildInfoMatches =
+  buildInfo?.kogitoVersion === buildEnv.versions.kogito &&
+  buildInfo?.droolsRepoGitRef === buildEnv.droolsAndKogito.repos.drools.gitRef 
&&
+  buildInfo?.optaplannerRepoGitRef === 
buildEnv.droolsAndKogito.repos.optaplanner.gitRef &&
+  buildInfo?.kogitoRuntimesRepoGitRef === 
buildEnv.droolsAndKogito.repos.kogitoRuntimes.gitRef &&
+  buildInfo?.kogitoAppsRepoGitRef === 
buildEnv.droolsAndKogito.repos.kogitoApps.gitRef;
+
+const localM2DirExists = fs.existsSync("./dist/1st-party-m2/repository");
+const forceBuild = buildEnv.droolsAndKogito.forceBuild;
+
+console.log(`[drools-and-kogito] Local m2 exists: ${localM2DirExists}`);
+console.log(`[drools-and-kogito] Build info matches: ${buildInfoMatches}`);
+console.log(`[drools-and-kogito] Force build: ${forceBuild}`);
+
+if (localM2DirExists && buildInfoMatches && !forceBuild) {
+  console.log(`[drools-and-kogito] Nothing to do.`);
+  console.log(`[drools-and-kogito] Done.`);
+  process.exit(0);
+} else if (localM2DirExists) {
+  console.log(`[drools-and-kogito] Cleaning up 'dist' directory...`);
+  fs.rmSync("./dist", { recursive: true });
+}
+fs.mkdirSync("./dist", { recursive: true });
+
+// TODO: cache restoration
+
+console.log(`[drools-and-kogito] Cleaning up 'dist' directory...`);
+if (fs.existsSync("./dist-tmp")) {
+  fs.rmSync("./dist-tmp", { recursive: true });
+}
+fs.mkdirSync("./dist-tmp", { recursive: true });
+
+// cloning
+
+const droolsRepoDir = path.join("dist-tmp", "drools");
+const optaplannerRepoDir = path.join("dist-tmp", "optaplanner");
+const kogitoRuntimesRepoDir = path.join("dist-tmp", "kogito-runtimes");
+const kogitoAppsRepoDir = path.join("dist-tmp", "kogito-apps");
+
+console.log(`[drools-and-kogito] Cloning Drools...`);
+
+execSync(
+  `git clone --branch ${buildEnv.root.streamName} --depth 50 
${buildEnv.droolsAndKogito.repos.drools.url} "${droolsRepoDir}"`,
+  execOpts
+);
+execSync(`git checkout ${buildEnv.droolsAndKogito.repos.drools.gitRef}`, {
+  ...execOpts,
+  cwd: droolsRepoDir,
+});
+
+console.log(`[drools-and-kogito] Cloning OptaPlanner...`);
+execSync(
+  `git clone --branch ${buildEnv.root.streamName} --depth 50 
${buildEnv.droolsAndKogito.repos.optaplanner.url} "${optaplannerRepoDir}"`,
+  execOpts
+);
+execSync(`git checkout ${buildEnv.droolsAndKogito.repos.optaplanner.gitRef}`, {
+  ...execOpts,
+  cwd: optaplannerRepoDir,
+});
+
+console.log(`[drools-and-kogito] Cloning Kogito Runtimes...`);
+execSync(
+  `git clone --branch ${buildEnv.root.streamName} --depth 50 
${buildEnv.droolsAndKogito.repos.kogitoRuntimes.url} 
"${kogitoRuntimesRepoDir}"`,
+  execOpts
+);
+execSync(`git checkout 
${buildEnv.droolsAndKogito.repos.kogitoRuntimes.gitRef}`, {
+  ...execOpts,
+  cwd: kogitoRuntimesRepoDir,
+});
+
+console.log(`[drools-and-kogito] Cloning Kogito Apps...`);
+execSync(
+  `git clone --branch ${buildEnv.root.streamName} --depth 50 
${buildEnv.droolsAndKogito.repos.kogitoApps.url} "${kogitoAppsRepoDir}"`,
+  execOpts
+);
+execSync(`git checkout ${buildEnv.droolsAndKogito.repos.kogitoApps.gitRef}`, {
+  ...execOpts,
+  cwd: kogitoAppsRepoDir,
+});
+
+// update versions
+const streamsMavenVersion =
+  buildEnv.root.streamName === "main"
+    ? `999-SNAPSHOT` //
+    : buildEnv.root.streamName.replace(".x", ".999-SNAPSHOT"); // 10.1.x 
becomes 10.1.999-SNAPSHOT
+
+console.log(`[drools-and-kogito] Updating versions to 
${streamsMavenVersion}...`);
+execSync(`find . -name "pom.xml" -exec sed -i.bak 
"s/${streamsMavenVersion}/${buildEnv.versions.kogito}/g" {} ";"`, {
+  ...execOpts,
+  cwd: "./dist-tmp",
+});
+execSync(`find . -name "pom.xml.bak" -exec rm {} ";"`, {
+  ...execOpts,
+  cwd: "./dist-tmp",
+});
+
+// patching
+console.log(`[drools-and-kogito] Patching pom.xml files to remove Tests and 
Integration Tests modules...`);
+removeMavenModule(`drools\\-test\\-coverage`);
+removeMavenModule(`.*integration\\-tests`);
+removeMavenModule(`integration\\-tests`);
+removeMavenModule(`.*integration\\-test`);
+removeMavenModule(`.*\\-integration\\-test\\-.*`);
+removeMavenModule(`.*\\-integrationtests`);
+removeMavenModule(`.*integration\\-tests\\-.*`);
+removeMavenModule(`.*\\-integrationtest`);
+removeMavenModule(`.*\\-it`);
+removeMavenModule(`.*\\-live\\-reload\\-test`);
+removeMavenModule(`kie\\-archetypes`);
+removeMavenModule(`apps\\-integration\\-tests`);
+removeMavenModule(`apps\\-integration\\-tests`);
+
+// building
+
+console.log(`[drools-and-kogito] Building Drools...`);
+try {
+  execSync(
+    `mvn deploy -ntp -DskipTests -DskipITs -T 0.5C -Dformatter.skip 
-Denforcer.skip=true -Dcheckstyle.skip=true -Dmaven.install.skip=true 
-DaltDeploymentRepository=drools-and-kogito--dist-1st-party-m2::default::file:${DIST_REPO}`,
+    {
+      ...execOpts,
+      cwd: droolsRepoDir,
+    }
+  );
+} catch (e) {
+  // Try it again!
+  execSync(
+    `mvn deploy -ntp -DskipTests -DskipITs -T 0.5C -Dformatter.skip 
-Denforcer.skip=true -Dcheckstyle.skip=true -Dmaven.install.skip=true 
-DaltDeploymentRepository=drools-and-kogito--dist-1st-party-m2::default::file:${DIST_REPO}`,
+    {
+      ...execOpts,
+      cwd: droolsRepoDir,
+    }
+  );
+}
+
+console.log(`[drools-and-kogito] Building OptaPlanner...`);
+execSync(
+  `mvn deploy -ntp -DskipTests -DskipITs -T 0.5C -Dformatter.skip 
-Denforcer.skip=true -Dcheckstyle.skip=true -Dmaven.install.skip=true 
-Dmaven.repo.local.tail=${DIST_REPO} 
-DaltDeploymentRepository=drools-and-kogito--dist-1st-party-m2::default::file:${DIST_REPO}`,
+  {
+    ...execOpts,
+    cwd: optaplannerRepoDir,
+  }
+);
+
+console.log(`[drools-and-kogito] Building Kogito Runtimes...`);
+execSync(
+  `mvn deploy -ntp -DskipTests -DskipITs -T 0.5C -Dformatter.skip 
-Denforcer.skip=true -Dcheckstyle.skip=true -Dmaven.install.skip=true 
-Dmaven.repo.local.tail=${DIST_REPO} 
-DaltDeploymentRepository=drools-and-kogito--dist-1st-party-m2::default::file:${DIST_REPO}`,
+  {
+    ...execOpts,
+    cwd: kogitoRuntimesRepoDir,
+  }
+);
+
+console.log(`[drools-and-kogito] Building Kogito Apps...`);
+execSync(
+  `mvn deploy -ntp -DskipTests -DskipITs -T 0.5C -Dformatter.skip 
-Denforcer.skip=true -Dcheckstyle.skip=true -Dmaven.install.skip=true 
-Dmaven.repo.local.tail=${DIST_REPO} 
-DaltDeploymentRepository=snapshot-repo::default::file:${DIST_REPO} 
-Dquarkus.container-image.build=false`,
+  {
+    ...execOpts,
+    cwd: kogitoAppsRepoDir,
+  }
+);
+
+console.log("[drools-and-kogito] Removing source code directory to free up 
disk space... ");
+fs.rmSync("./dist-tmp", { recursive: true });
+
+console.log(`[drools-and-kogito] Finished building. Final artifacts are in 
'${DIST_REPO}'`);
+
+console.log("[drools-and-kogito] Writing build info to ./dist/buildInfo.json");
+fs.writeFileSync(
+  "./dist/buildInfo.json",
+  JSON.stringify({
+    kogitoVersion: buildEnv.versions.kogito,
+    droolsRepoGitRef: buildEnv.droolsAndKogito.repos.drools.gitRef,
+    optaplannerRepoGitRef: buildEnv.droolsAndKogito.repos.optaplanner.gitRef,
+    kogitoRuntimesRepoGitRef: 
buildEnv.droolsAndKogito.repos.kogitoRuntimes.gitRef,
+    kogitoAppsRepoGitRef: buildEnv.droolsAndKogito.repos.kogitoApps.gitRef,
+  }),
+  "utf-8"
+);
+
+console.log(`[drools-and-kogito] Done.`);
+
+//
+// utilities
+
+function removeMavenModule(moduleName) {
+  process.stdout.write(`[drools-and-kogito] Excluding Maven module pattern 
${moduleName} from the build...`);
+  execSync(`find . -name "pom.xml" -exec sed -i.bak 
"s#<module>${moduleName}</module>##g" {} ";"`, {
+    ...execOpts,
+    cwd: "./dist-tmp",
+  });
+  execSync(`find . -name "pom.xml.bak" -exec rm {} ";"`, {
+    ...execOpts,
+    cwd: "./dist-tmp",
+  });
+  console.log(" Done.");
+}
+
+function getBuildInfo() {
+  if (!fs.existsSync(`./dist/buildInfo.json`)) {
+    return undefined;
+  } else {
+    return JSON.parse(fs.readFileSync(`./dist/buildInfo.json`), "utf-8");
+  }
+}
diff --git a/packages/drools-and-kogito/package.json 
b/packages/drools-and-kogito/package.json
new file mode 100644
index 00000000000..bb8627017d6
--- /dev/null
+++ b/packages/drools-and-kogito/package.json
@@ -0,0 +1,14 @@
+{
+  "private": true,
+  "name": "@kie-tools-core/drools-and-kogito",
+  "version": "0.0.0",
+  "keywords": [],
+  "scripts": {
+    "install": "node install.js"
+  },
+  "dependencies": {},
+  "devDependencies": {
+    "@kie-tools-scripts/build-env": "workspace:*",
+    "@kie-tools/root-env": "workspace:*"
+  }
+}
diff --git a/packages/extended-services/env/index.js 
b/packages/extended-services/env/index.js
index b42ff71e86c..d069f5ca061 100644
--- a/packages/extended-services/env/index.js
+++ b/packages/extended-services/env/index.js
@@ -19,9 +19,7 @@
 
 const { getOrDefault, varsWithName, composeEnv } = 
require("@kie-tools-scripts/build-env");
 
-const rootEnv = require("@kie-tools/root-env/env");
-
-module.exports = composeEnv([rootEnv], {
+module.exports = composeEnv([require("@kie-tools/root-env/env")], {
   vars: varsWithName({
     EXTENDED_SERVICES__kieSandboxUrl: {
       default: "https://localhost:9001";,
@@ -40,15 +38,15 @@ module.exports = composeEnv([rootEnv], {
       description: "HTTP port",
     },
     EXTENDED_SERVICES__nativeBinaryPath_macOS: {
-      default: 
`./dist-dev/jitexecutor-native-darwin-${rootEnv.env.versions.kogito}-runner`,
+      default: 
`./dist-dev/jitexecutor-native-darwin-999-20250511-SNAPSHOT-runner`,
       description: "",
     },
     EXTENDED_SERVICES__nativeBinaryPath_linux: {
-      default: 
`./dist-dev/jitexecutor-native-linux-${rootEnv.env.versions.kogito}-runner`,
+      default: 
`./dist-dev/jitexecutor-native-linux-999-20250511-SNAPSHOT-runner`,
       description: "",
     },
     EXTENDED_SERVICES__nativeBinaryPath_win32: {
-      default: 
`.\\dist-dev\\jitexecutor-native-win32-${rootEnv.env.versions.kogito}-runner.exe`,
+      default: 
`.\\dist-dev\\jitexecutor-native-win32-999-20250511-SNAPSHOT-runner.exe`,
       description: "",
     },
   }),
diff --git a/packages/extended-services/package.json 
b/packages/extended-services/package.json
index ff25bdd3a75..bb01967b4ff 100644
--- a/packages/extended-services/package.json
+++ b/packages/extended-services/package.json
@@ -34,9 +34,9 @@
     "copy-jitexecutor-linux-headless:linux": "cp $(build-env 
extendedServices.jitexecutor.nativeBinaryPath.linux) jitexecutor && chmod +x 
jitexecutor",
     "copy-jitexecutor-linux-headless:win32": "pnpm powershell \"Copy-Item 
$(build-env extendedServices.jitexecutor.nativeBinaryPath.win32) jitexecutor\"",
     "download:mvn:jitexecutor-native": "run-script-os",
-    "download:mvn:jitexecutor-native:darwin": "mvn dependency:get 
-Dartifact=\"org.kie.kogito:jitexecutor-native-darwin:$(build-env 
versions.kogito):jar:binaries\"",
-    "download:mvn:jitexecutor-native:linux": "mvn dependency:get 
-Dartifact=\"org.kie.kogito:jitexecutor-native-linux:$(build-env 
versions.kogito):jar:binaries\"",
-    "download:mvn:jitexecutor-native:win32": "pnpm powershell \"mvn 
dependency:get `-Dartifact=org.kie.kogito:jitexecutor-native-win32:$(build-env 
versions.kogito):jar:binaries\"",
+    "download:mvn:jitexecutor-native:darwin": "mvn dependency:get 
-Dartifact=\"org.kie.kogito:jitexecutor-native-darwin:999-20250511-SNAPSHOT:jar:binaries\"",
+    "download:mvn:jitexecutor-native:linux": "mvn dependency:get 
-Dartifact=\"org.kie.kogito:jitexecutor-native-linux:999-20250511-SNAPSHOT:jar:binaries\"",
+    "download:mvn:jitexecutor-native:win32": "pnpm powershell \"mvn 
dependency:get 
`-Dartifact=org.kie.kogito:jitexecutor-native-win32:999-20250511-SNAPSHOT:jar:binaries\"",
     "install": "go mod tidy && pnpm download:mvn:jitexecutor-native && pnpm 
unpack:mvn:jitexecutor-native",
     "pack-app": "run-script-os",
     "pack-app:darwin": "cd ./scripts/macos && ./build.sh",
@@ -45,9 +45,9 @@
     "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted 
-Command",
     "start": "cross-env ENV=dev make start",
     "unpack:mvn:jitexecutor-native": "run-script-os",
-    "unpack:mvn:jitexecutor-native:darwin": "mvn dependency:unpack 
-DoutputDirectory=dist-dev 
-Dartifact=\"org.kie.kogito:jitexecutor-native-darwin:$(build-env 
versions.kogito):jar:binaries\"",
-    "unpack:mvn:jitexecutor-native:linux": "mvn dependency:unpack 
-DoutputDirectory=dist-dev 
-Dartifact=\"org.kie.kogito:jitexecutor-native-linux:$(build-env 
versions.kogito):jar:binaries\"",
-    "unpack:mvn:jitexecutor-native:win32": "pnpm powershell \"mvn 
dependency:unpack `-DoutputDirectory=dist-dev 
`-Dartifact=org.kie.kogito:jitexecutor-native-win32:$(build-env 
versions.kogito):jar:binaries\""
+    "unpack:mvn:jitexecutor-native:darwin": "mvn dependency:unpack 
-DoutputDirectory=dist-dev 
-Dartifact=\"org.kie.kogito:jitexecutor-native-darwin:999-20250511-SNAPSHOT:jar:binaries\"",
+    "unpack:mvn:jitexecutor-native:linux": "mvn dependency:unpack 
-DoutputDirectory=dist-dev 
-Dartifact=\"org.kie.kogito:jitexecutor-native-linux:999-20250511-SNAPSHOT:jar:binaries\"",
+    "unpack:mvn:jitexecutor-native:win32": "pnpm powershell \"mvn 
dependency:unpack `-DoutputDirectory=dist-dev 
`-Dartifact=org.kie.kogito:jitexecutor-native-win32:999-20250511-SNAPSHOT:jar:binaries\""
   },
   "devDependencies": {
     "@kie-tools/root-env": "workspace:*",
diff --git 
a/packages/kie-sandbox-accelerator-quarkus/git-repo-content-src/pom.xml.envsubst
 
b/packages/kie-sandbox-accelerator-quarkus/git-repo-content-src/pom.xml.envsubst
index a12432bcff0..a147e96bec9 100644
--- 
a/packages/kie-sandbox-accelerator-quarkus/git-repo-content-src/pom.xml.envsubst
+++ 
b/packages/kie-sandbox-accelerator-quarkus/git-repo-content-src/pom.xml.envsubst
@@ -59,7 +59,7 @@
         <enabled>false</enabled>
       </releases>
       <snapshots>
-        <enabled>true</enabled>
+        <enabled>false</enabled>
         <updatePolicy>never</updatePolicy>
       </snapshots>
     </repository>
diff --git a/packages/kn-plugin-workflow/e2e-tests/helper_test.go 
b/packages/kn-plugin-workflow/e2e-tests/helper_test.go
index c2f3575fdcb..a268a4771c4 100644
--- a/packages/kn-plugin-workflow/e2e-tests/helper_test.go
+++ b/packages/kn-plugin-workflow/e2e-tests/helper_test.go
@@ -277,8 +277,13 @@ func WriteMavenConfigFileWithTailDirs(projectDir string) {
                fmt.Printf("Failed to resolve absolute path for 
`@kie-tools/maven-base` package. %v", err)
                os.Exit(1)
        }
+       droolsAndKogitoM2, err := 
filepath.Abs("../../../node_modules/@kie-tools-core/drools-and-kogito/dist/1st-party-m2/repository")
+       if err != nil {
+               fmt.Printf("Failed to resolve absolute path for 
`@kie-tools-core/drools-and-kogito` package. %v", err)
+               os.Exit(1)
+       }
 
-       tail := mavenBaseM2 + "," + sonataflowQuarkusDevUiM2 + "\n"
+       tail := droolsAndKogitoM2 + "," + mavenBaseM2 + "," + 
sonataflowQuarkusDevUiM2 + "\n"
 
        err = os.WriteFile(filepath.Join(projectDir, ".mvn", "maven.config"), 
[]byte("-Dmaven.repo.local.tail="+tail), 0644)
        if err != nil {
diff --git a/packages/kn-plugin-workflow/package.json 
b/packages/kn-plugin-workflow/package.json
index 4ad15ea5eb7..3adfb267afd 100644
--- a/packages/kn-plugin-workflow/package.json
+++ b/packages/kn-plugin-workflow/package.json
@@ -50,6 +50,7 @@
     "test-e2e:quarkus:logs": "run-script-if --ignore-errors \"$(build-env 
endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" 
--then \"pnpm go:test-e2e:quarkus:logs\" \"pnpm go:test-e2e:report\""
   },
   "dependencies": {
+    "@kie-tools-core/drools-and-kogito": "workspace:*",
     "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/sonataflow-quarkus-devui": "workspace:*"
   },
diff --git a/packages/kogito-data-index-ephemeral-image/install.js 
b/packages/kogito-data-index-ephemeral-image/install.js
index 5e3e2c01d85..87cead623e8 100644
--- a/packages/kogito-data-index-ephemeral-image/install.js
+++ b/packages/kogito-data-index-ephemeral-image/install.js
@@ -62,3 +62,10 @@ replaceInFile.sync({
   from: /@docker.io\/apache\/.*/g,
   to: `@${imageUrl}`,
 });
+
+/// Maven app
+
+const { setupMavenConfigFile, buildTailFromPackageJsonDependencies } = 
require("@kie-tools/maven-base");
+setupMavenConfigFile(`
+    -Dmaven.repo.local.tail=${buildTailFromPackageJsonDependencies()}
+`);
diff --git a/packages/kogito-data-index-ephemeral-image/package.json 
b/packages/kogito-data-index-ephemeral-image/package.json
index 08f12e9cba1..86189e26f02 100644
--- a/packages/kogito-data-index-ephemeral-image/package.json
+++ b/packages/kogito-data-index-ephemeral-image/package.json
@@ -32,8 +32,10 @@
     "mvn-build-app:win32": "echo \"Build skipped on Windows\"",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env 
kogitoDataIndexEphemeralImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env 
kogitoDataIndexEphemeralImage.account) KOGITO_IMAGE_NAME=$(build-env 
kogitoDataIndexEphemeralImage.name) KOGITO_IMAGE_TAG=$(build-env 
kogitoDataIndexEphemeralImage.buildTag) QUARKUS_PLATFORM_GROUPID=$(build-env 
kogitoImagesCekitModules.quarkusGroupId) QUARKUS_PLATFORM_VERSION=$(build-en 
[...]
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/sonataflow-image-common": "workspace:*",
diff --git a/packages/kogito-data-index-postgresql-image/install.js 
b/packages/kogito-data-index-postgresql-image/install.js
index 9b61611cc10..c21e2cea7d2 100644
--- a/packages/kogito-data-index-postgresql-image/install.js
+++ b/packages/kogito-data-index-postgresql-image/install.js
@@ -62,3 +62,10 @@ replaceInFile.sync({
   from: /@docker.io\/apache\/.*/g,
   to: `@${imageUrl}`,
 });
+
+/// Maven app
+
+const { setupMavenConfigFile, buildTailFromPackageJsonDependencies } = 
require("@kie-tools/maven-base");
+setupMavenConfigFile(`
+    -Dmaven.repo.local.tail=${buildTailFromPackageJsonDependencies()}
+`);
diff --git a/packages/kogito-data-index-postgresql-image/package.json 
b/packages/kogito-data-index-postgresql-image/package.json
index f1dfdc58d14..a1194946d1f 100644
--- a/packages/kogito-data-index-postgresql-image/package.json
+++ b/packages/kogito-data-index-postgresql-image/package.json
@@ -32,8 +32,10 @@
     "mvn-build-app:win32": "echo \"Build skipped on Windows\"",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env 
kogitoDataIndexPostgresqlImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env 
kogitoDataIndexPostgresqlImage.account) KOGITO_IMAGE_NAME=$(build-env 
kogitoDataIndexPostgresqlImage.name) KOGITO_IMAGE_TAG=$(build-env 
kogitoDataIndexPostgresqlImage.buildTag) QUARKUS_PLATFORM_GROUPID=$(build-env 
kogitoImagesCekitModules.quarkusGroupId) QUARKUS_PLATFORM_VERSION=$(buil [...]
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/sonataflow-image-common": "workspace:*",
diff --git a/packages/kogito-jit-runner-image/install.js 
b/packages/kogito-jit-runner-image/install.js
index 9be7a1027ef..0294693b81c 100644
--- a/packages/kogito-jit-runner-image/install.js
+++ b/packages/kogito-jit-runner-image/install.js
@@ -62,3 +62,10 @@ replaceInFile.sync({
   from: /@docker.io\/apache\/.*/g,
   to: `@${imageUrl}`,
 });
+
+/// Maven app
+
+const { setupMavenConfigFile, buildTailFromPackageJsonDependencies } = 
require("@kie-tools/maven-base");
+setupMavenConfigFile(`
+    -Dmaven.repo.local.tail=${buildTailFromPackageJsonDependencies()}
+`);
diff --git a/packages/kogito-jit-runner-image/package.json 
b/packages/kogito-jit-runner-image/package.json
index ce4b3dbb953..58da9a9219b 100644
--- a/packages/kogito-jit-runner-image/package.json
+++ b/packages/kogito-jit-runner-image/package.json
@@ -32,8 +32,10 @@
     "mvn-build-app:win32": "echo \"Build skipped on Windows\"",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env kogitoJitRunnerImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env kogitoJitRunnerImage.account) 
KOGITO_IMAGE_NAME=$(build-env kogitoJitRunnerImage.name) 
KOGITO_IMAGE_TAG=$(build-env kogitoJitRunnerImage.buildTag) 
QUARKUS_PLATFORM_GROUPID=$(build-env kogitoImagesCekitModules.quarkusGroupId) 
QUARKUS_PLATFORM_VERSION=$(build-env versions.quarkus) KOGITO_VERSION=$ [...]
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/sonataflow-image-common": "workspace:*",
diff --git a/packages/kogito-jobs-service-allinone-image/install.js 
b/packages/kogito-jobs-service-allinone-image/install.js
index 968e4e4e162..8bfc7d1293f 100644
--- a/packages/kogito-jobs-service-allinone-image/install.js
+++ b/packages/kogito-jobs-service-allinone-image/install.js
@@ -62,3 +62,10 @@ replaceInFile.sync({
   from: /@docker.io\/apache\/.*/g,
   to: `@${imageUrl}`,
 });
+
+/// Maven app
+
+const { setupMavenConfigFile, buildTailFromPackageJsonDependencies } = 
require("@kie-tools/maven-base");
+setupMavenConfigFile(`
+    -Dmaven.repo.local.tail=${buildTailFromPackageJsonDependencies()}
+`);
diff --git a/packages/kogito-jobs-service-allinone-image/package.json 
b/packages/kogito-jobs-service-allinone-image/package.json
index 9dbfbdcfd20..baa7c4b177a 100644
--- a/packages/kogito-jobs-service-allinone-image/package.json
+++ b/packages/kogito-jobs-service-allinone-image/package.json
@@ -32,8 +32,10 @@
     "mvn-build-app:win32": "echo \"Build skipped on Windows\"",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env 
kogitoJobsServiceAllInOneImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env 
kogitoJobsServiceAllInOneImage.account) KOGITO_IMAGE_NAME=$(build-env 
kogitoJobsServiceAllInOneImage.name) KOGITO_IMAGE_TAG=$(build-env 
kogitoJobsServiceAllInOneImage.buildTag) QUARKUS_PLATFORM_GROUPID=$(build-env 
kogitoImagesCekitModules.quarkusGroupId) QUARKUS_PLATFORM_VERSION=$(buil [...]
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/sonataflow-image-common": "workspace:*",
diff --git a/packages/kogito-jobs-service-ephemeral-image/install.js 
b/packages/kogito-jobs-service-ephemeral-image/install.js
index 68c5fc634a6..65a384e676f 100644
--- a/packages/kogito-jobs-service-ephemeral-image/install.js
+++ b/packages/kogito-jobs-service-ephemeral-image/install.js
@@ -62,3 +62,10 @@ replaceInFile.sync({
   from: /@docker.io\/apache\/.*/g,
   to: `@${imageUrl}`,
 });
+
+/// Maven app
+
+const { setupMavenConfigFile, buildTailFromPackageJsonDependencies } = 
require("@kie-tools/maven-base");
+setupMavenConfigFile(`
+    -Dmaven.repo.local.tail=${buildTailFromPackageJsonDependencies()}
+`);
diff --git a/packages/kogito-jobs-service-ephemeral-image/package.json 
b/packages/kogito-jobs-service-ephemeral-image/package.json
index e6296250270..fe101aecd27 100644
--- a/packages/kogito-jobs-service-ephemeral-image/package.json
+++ b/packages/kogito-jobs-service-ephemeral-image/package.json
@@ -32,8 +32,10 @@
     "mvn-build-app:win32": "echo \"Build skipped on Windows\"",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env 
kogitoJobsServiceEphemeralImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env 
kogitoJobsServiceEphemeralImage.account) KOGITO_IMAGE_NAME=$(build-env 
kogitoJobsServiceEphemeralImage.name) KOGITO_IMAGE_TAG=$(build-env 
kogitoJobsServiceEphemeralImage.buildTag) QUARKUS_PLATFORM_GROUPID=$(build-env 
kogitoImagesCekitModules.quarkusGroupId) QUARKUS_PLATFORM_VERSION=$( [...]
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/sonataflow-image-common": "workspace:*",
diff --git a/packages/kogito-jobs-service-postgresql-image/install.js 
b/packages/kogito-jobs-service-postgresql-image/install.js
index 10ca5359643..c9e38da2aec 100644
--- a/packages/kogito-jobs-service-postgresql-image/install.js
+++ b/packages/kogito-jobs-service-postgresql-image/install.js
@@ -62,3 +62,10 @@ replaceInFile.sync({
   from: /@docker.io\/apache\/.*/g,
   to: `@${imageUrl}`,
 });
+
+/// Maven app
+
+const { setupMavenConfigFile, buildTailFromPackageJsonDependencies } = 
require("@kie-tools/maven-base");
+setupMavenConfigFile(`
+    -Dmaven.repo.local.tail=${buildTailFromPackageJsonDependencies()}
+`);
diff --git a/packages/kogito-jobs-service-postgresql-image/package.json 
b/packages/kogito-jobs-service-postgresql-image/package.json
index 1f55b59fd8f..40d7746f5c5 100644
--- a/packages/kogito-jobs-service-postgresql-image/package.json
+++ b/packages/kogito-jobs-service-postgresql-image/package.json
@@ -32,8 +32,10 @@
     "mvn-build-app:win32": "echo \"Build skipped on Windows\"",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env 
kogitoJobsServicePostgresqlImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env 
kogitoJobsServicePostgresqlImage.account) KOGITO_IMAGE_NAME=$(build-env 
kogitoJobsServicePostgresqlImage.name) KOGITO_IMAGE_TAG=$(build-env 
kogitoJobsServicePostgresqlImage.buildTag) QUARKUS_PLATFORM_GROUPID=$(build-env 
kogitoImagesCekitModules.quarkusGroupId) QUARKUS_PLATFORM_VERSIO [...]
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/sonataflow-image-common": "workspace:*",
diff --git a/packages/maven-base/index.js b/packages/maven-base/index.js
index 5860a133b9e..615e4f0f9c1 100755
--- a/packages/maven-base/index.js
+++ b/packages/maven-base/index.js
@@ -94,7 +94,7 @@ module.exports = {
    * Builds a single Maven repository directory out of multiple local Maven 
repositories using hard links.
    *
    * @param tmpM2Dir Relative path of this new Maven repository directory. It 
will be deleted and recreated for each invocation.
-   * @param dirname A list of paths representing additional Maven repository 
directories, to be concatenated the default one (I.e, `maven.repo.local`)
+   * @param relativePackagePath A list of paths representing additional Maven 
repository directories, to be concatenated the default one (I.e, 
`maven.repo.local`)
    *  */
   prepareHardLinkedM2ForPackage: (tmpM2Dir, relativePackagePath) => {
     const resolvedTmpM2Dir = path.resolve(tmpM2Dir);
diff --git a/packages/maven-base/package.json b/packages/maven-base/package.json
index 093634bdfdd..5cdc9298721 100644
--- a/packages/maven-base/package.json
+++ b/packages/maven-base/package.json
@@ -23,6 +23,9 @@
     "lint": "echo 'Linting'",
     "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted 
-Command"
   },
+  "dependencies": {
+    "@kie-tools-core/drools-and-kogito": "workspace:*"
+  },
   "devDependencies": {
     "@kie-tools/root-env": "workspace:*",
     "run-script-os": "^1.1.6"
diff --git a/packages/maven-base/pom.xml b/packages/maven-base/pom.xml
index 854b2dfb5df..c0f8855e747 100644
--- a/packages/maven-base/pom.xml
+++ b/packages/maven-base/pom.xml
@@ -123,7 +123,7 @@
     <version.maven.surefire.plugin>3.5.0</version.maven.surefire.plugin>
 
     <!-- Apache KIE -->
-    <version.org.kie.kogito>999-20250511-SNAPSHOT</version.org.kie.kogito>
+    <version.org.kie.kogito>999-20250511-local</version.org.kie.kogito>
 
     <!-- Quarkus -->
     <version.quarkus>3.15.3.1</version.quarkus>
diff --git a/packages/maven-base/settings.xml b/packages/maven-base/settings.xml
index 7b260596554..48466437569 100644
--- a/packages/maven-base/settings.xml
+++ b/packages/maven-base/settings.xml
@@ -39,7 +39,7 @@
             <enabled>false</enabled>
           </releases>
           <snapshots>
-            <enabled>true</enabled>
+            <enabled>false</enabled>
             <updatePolicy>never</updatePolicy>
           </snapshots>
         </repository>
diff --git a/packages/root-env/env/index.js b/packages/root-env/env/index.js
index b77188cda66..88b2189dd49 100644
--- a/packages/root-env/env/index.js
+++ b/packages/root-env/env/index.js
@@ -74,7 +74,7 @@ module.exports = composeEnv([], {
     },
     /* (begin) This part of the file is referenced in 
`scripts/update-kogito-version` */
     KOGITO_RUNTIME_version: {
-      default: "999-20250511-SNAPSHOT",
+      default: "999-20250511-local",
       description: "Kogito version to be used on dependency declaration.",
     },
     /* (end) */
diff --git a/packages/serverless-workflow-diagram-editor/package.json 
b/packages/serverless-workflow-diagram-editor/package.json
index fb839d54c83..5295647999e 100644
--- a/packages/serverless-workflow-diagram-editor/package.json
+++ b/packages/serverless-workflow-diagram-editor/package.json
@@ -27,8 +27,10 @@
     "lint": "echo 'Linting'",
     "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted 
-Command"
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "cpr": "^3.0.1",
     "rimraf": "^3.0.2",
diff --git a/packages/sonataflow-builder-image/package.json 
b/packages/sonataflow-builder-image/package.json
index c2bb075a731..776ca1c8adb 100644
--- a/packages/sonataflow-builder-image/package.json
+++ b/packages/sonataflow-builder-image/package.json
@@ -32,7 +32,8 @@
     "image:test:linux": "pnpm copy-test-assets && pnpm setup:env make -C 
./build test-image",
     "install": "node install.js && pnpm format",
     "m2-repo-via-http:container:kill": "(docker container kill 
m2-repo-via-http || true) && (docker container rm m2-repo-via-http || true)",
-    "m2-repo-via-http:container:run": "(pnpm m2-repo-via-http:container:kill 
|| true) && docker run --name m2-repo-via-http -v \"$(mvn help:evaluate 
-Dexpression=settings.localRepository -q -DforceStdout):/var/www/html\" -dit 
$(build-env sonataflowBuilderImage.dev.mavenM2RepoViaHttpImage)",
+    "m2-repo-via-http:container:prepare-m2-repo-volume": "node -e 
'require(`@kie-tools/maven-base`).prepareHardLinkedM2ForPackage(`./dist/tmp-m2/repository`,
 `.`)'",
+    "m2-repo-via-http:container:run": "(pnpm m2-repo-via-http:container:kill 
|| true) && pnpm m2-repo-via-http:container:prepare-m2-repo-volume && docker 
run -p 8888:80 --name m2-repo-via-http -v 
\"./dist/tmp-m2/repository:/var/www/html\" -dit $(build-env 
sonataflowBuilderImage.dev.mavenM2RepoViaHttpImage)",
     "setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && 
cross-env KOGITO_IMAGE_REGISTRY=$(build-env sonataflowBuilderImage.registry) 
KOGITO_IMAGE_REGISTRY_ACCOUNT=$(build-env sonataflowBuilderImage.account) 
KOGITO_IMAGE_NAME=$(build-env sonataflowBuilderImage.name) 
KOGITO_IMAGE_TAG=$(build-env sonataflowBuilderImage.buildTag) 
QUARKUS_PLATFORM_GROUPID=$(build-env kogitoImagesCekitModules.quarkusGroupId) 
QUARKUS_PLATFORM_VERSION=$(build-env versions.quarkus) KOGITO_V [...]
     "test": "run-script-os",
     "test:cleanup": "mv dist-tests/report.xml dist-tests/junit-report.xml || 
true",
@@ -41,9 +42,11 @@
     "test:setup": "pnpm copy-test-assets && mkdir -p dist-tests && rm -rf 
dist-tests/*",
     "test:win32": "echo \"Tests are skipped in Windows\""
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
     "@kie-tools/image-builder": "workspace:*",
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/maven-m2-repo-via-http-image": "workspace:*",
     "@kie-tools/python-venv": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
diff --git 
a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/maven-m2-repo-via-http-settings.xml.envsubst
 
b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/maven-m2-repo-via-http-settings.xml.envsubst
index ad8a808e6c8..47a166ffc19 100644
--- 
a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/maven-m2-repo-via-http-settings.xml.envsubst
+++ 
b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/maven-m2-repo-via-http-settings.xml.envsubst
@@ -50,7 +50,7 @@
             <enabled>false</enabled>
           </releases>
           <snapshots>
-            <enabled>true</enabled>
+            <enabled>false</enabled>
             <updatePolicy>never</updatePolicy>
           </snapshots>
         </repository>
diff --git a/packages/stunner-editors/package.json 
b/packages/stunner-editors/package.json
index be5b4b6ab05..75b528830dd 100644
--- a/packages/stunner-editors/package.json
+++ b/packages/stunner-editors/package.json
@@ -32,8 +32,10 @@
     "lint": "echo 'Linting'",
     "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted 
-Command"
   },
+  "dependencies": {
+    "@kie-tools/maven-base": "workspace:*"
+  },
   "devDependencies": {
-    "@kie-tools/maven-base": "workspace:*",
     "@kie-tools/root-env": "workspace:*",
     "@kie-tools/stunner-editors-dmn-loader": "workspace:*",
     "rimraf": "^3.0.2",
diff --git a/packages/stunner-editors/pom.xml b/packages/stunner-editors/pom.xml
index bc1d722d68c..bc4c9ea729b 100644
--- a/packages/stunner-editors/pom.xml
+++ b/packages/stunner-editors/pom.xml
@@ -276,6 +276,9 @@
       <releases>
         <enabled>false</enabled>
       </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
     </repository>
   </repositories>
   <pluginRepositories>
@@ -287,6 +290,9 @@
       <releases>
         <enabled>false</enabled>
       </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
     </pluginRepository>
   </pluginRepositories>
 
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8ebb41c0401..63cf57adb4b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4859,15 +4859,24 @@ importers:
         specifier: 0.2.3
         version: 0.2.3
     devDependencies:
+      '@kie-tools-core/drools-and-kogito':
+        specifier: workspace:*
+        version: link:../drools-and-kogito
       '@kie-tools/root-env':
         specifier: workspace:*
         version: link:../root-env
       '@kie-tools/tsconfig':
         specifier: workspace:*
         version: link:../tsconfig
+      cross-env:
+        specifier: ^7.0.3
+        version: 7.0.3
       rimraf:
         specifier: ^3.0.2
         version: 3.0.2
+      run-script-os:
+        specifier: ^1.1.6
+        version: 1.1.6
       typescript:
         specifier: ^5.5.3
         version: 5.5.3
@@ -5055,6 +5064,15 @@ importers:
         specifier: ^5.9.0
         version: 5.9.0
 
+  packages/drools-and-kogito:
+    devDependencies:
+      '@kie-tools-scripts/build-env':
+        specifier: workspace:*
+        version: link:../../scripts/build-env
+      '@kie-tools/root-env':
+        specifier: workspace:*
+        version: link:../root-env
+
   packages/editor:
     dependencies:
       '@kie-tools-core/envelope':
@@ -7312,6 +7330,9 @@ importers:
 
   packages/kn-plugin-workflow:
     dependencies:
+      '@kie-tools-core/drools-and-kogito':
+        specifier: workspace:*
+        version: link:../drools-and-kogito
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
@@ -7363,10 +7384,11 @@ importers:
         version: 1.1.6
 
   packages/kogito-data-index-ephemeral-image:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/python-venv':
         specifier: workspace:*
         version: link:../python-venv
@@ -7390,10 +7412,11 @@ importers:
         version: 1.1.6
 
   packages/kogito-data-index-postgresql-image:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/python-venv':
         specifier: workspace:*
         version: link:../python-venv
@@ -7461,10 +7484,11 @@ importers:
         version: 1.1.6
 
   packages/kogito-jit-runner-image:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/python-venv':
         specifier: workspace:*
         version: link:../python-venv
@@ -7488,10 +7512,11 @@ importers:
         version: 1.1.6
 
   packages/kogito-jobs-service-allinone-image:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/python-venv':
         specifier: workspace:*
         version: link:../python-venv
@@ -7515,10 +7540,11 @@ importers:
         version: 1.1.6
 
   packages/kogito-jobs-service-ephemeral-image:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/python-venv':
         specifier: workspace:*
         version: link:../python-venv
@@ -7542,10 +7568,11 @@ importers:
         version: 1.1.6
 
   packages/kogito-jobs-service-postgresql-image:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/python-venv':
         specifier: workspace:*
         version: link:../python-venv
@@ -7636,6 +7663,10 @@ importers:
         version: 5.5.3
 
   packages/maven-base:
+    dependencies:
+      '@kie-tools-core/drools-and-kogito':
+        specifier: workspace:*
+        version: link:../drools-and-kogito
     devDependencies:
       '@kie-tools/root-env':
         specifier: workspace:*
@@ -11127,10 +11158,11 @@ importers:
         version: 5.9.0
 
   packages/serverless-workflow-diagram-editor:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/root-env':
         specifier: workspace:*
         version: link:../root-env
@@ -11898,13 +11930,14 @@ importers:
         version: 5.9.0
 
   packages/sonataflow-builder-image:
+    dependencies:
+      '@kie-tools/maven-base':
+        specifier: workspace:*
+        version: link:../maven-base
     devDependencies:
       '@kie-tools/image-builder':
         specifier: workspace:*
         version: link:../image-builder
-      '@kie-tools/maven-base':
-        specifier: workspace:*
-        version: link:../maven-base
       '@kie-tools/maven-m2-repo-via-http-image':
         specifier: workspace:*
         version: link:../maven-m2-repo-via-http-image
@@ -12627,10 +12660,11 @@ importers:
         version: 5.9.0
 
   packages/stunner-editors:
-    devDependencies:
+    dependencies:
       '@kie-tools/maven-base':
         specifier: workspace:*
         version: link:../maven-base
+    devDependencies:
       '@kie-tools/root-env':
         specifier: workspace:*
         version: link:../root-env
diff --git a/repo/KOGITO_UPGRADE_PROCESS.md b/repo/KOGITO_UPGRADE_PROCESS.md
index 2a118e9fd7b..78a6c2a9eb9 100644
--- a/repo/KOGITO_UPGRADE_PROCESS.md
+++ b/repo/KOGITO_UPGRADE_PROCESS.md
@@ -15,49 +15,82 @@
    under the License.
 -->
 
-This guide aims to assist you in the process of upgrading all Kogito 
dependencies versions present in the kie-tools repository.
-Typically, these dependencies point to backend-side modules or images
+This guide aims to assist you in the process of upgrading the Kogito version 
`kie-tools` depends on.
+
+Kogito dependencies are Maven libraries, and transitively bring in Drools, 
OptaPlanner, and jBPM.
 
 # When apply the upgrade
 
-The upgrade should be applied soon after a new Kogito version is released.
-At the writing time, it's still not planned to use pure SNAPSHOT versions, but 
TAGGED and TIMESTAMPED SNAPSHOT versions only.
-It's mandatory to always upgrade the Kogito versions in case a new TAGGED 
version is released, to keep the codebase consistent when releasing kie-tools.
-The approach with TIMESTAMPED SNAPSHOT may vary depending on the team's plans. 
These versions are automatically released weekly.
-It's important to always apply the same TAG or TIMESTAMPED SNAPSHOT version in 
the whole repository.
+The upgrade should be applied whenever you want to make `kie-tools` more 
closely follow the development of other Apache KIE repositories it depends on.
+
+# Upgrading Kogito
+
+To make sure you're upgrading Kogito to a version that is consistent across 
the many repositories which `kie-tools` depends on, the best way is to use a 
date as referece.
+
+With the [GitHub CLI](https://cli.github.com/) installed, you can run:
+
+```bash
+
+DATE='2025-05-11' # CHANGE THIS TO WHATEVER DATE YOU'D LIKE TO UPGRADE TO.
+PAGER='cat'
+DROOLS_SHA=$(gh search commits --author-date "<${DATE}" -R 
"apache/incubator-kie-drools" --sort author-date --order desc --json sha 
--limit 1 --jq '.[].sha')
+OPTAPLANNER_SHA=$(gh search commits --author-date "<${DATE}" -R 
"apache/incubator-kie-optaplanner" --sort author-date --order desc --json sha 
--limit 1 --jq '.[].sha')
+KOGITO_RUNTIMES_SHA=$(gh search commits --author-date "<${DATE}" -R 
"apache/incubator-kie-kogito-runtimes" --sort author-date --order desc --json 
sha --limit 1 --jq '.[].sha')
+KOGITO_APPS_SHA=$(gh search commits --author-date "<${DATE}" -R 
"apache/incubator-kie-kogito-apps" --sort author-date --order desc --json sha 
--limit 1 --jq '.[].sha')
+VERSION=$(echo "${DATE//-/}")
+pnpm update-kogito-version-to --maven "999-${VERSION}-local" --droolsGitRef 
"${DROOLS_SHA}" --optaplannerGitRef "${OPTAPLANNER_SHA}" --kogitoRuntimesGitRef 
"${KOGITO_RUNTIMES_SHA}" --kogitoAppsGitRef "${KOGITO_APPS_SHA}"
+```
+
+Of course, a new Kogito version may lead to incompatibilities in the code and 
with other dependencies. In such a case, an investigation and evetually a fix 
is required to complete the process.
+
+You can find an example of the Kogito version upgrade in [this 
PR](https://github.com/apache/incubator-kie-tools/pull/2229)
 
-# Prerequisites
+# Related upgrades
 
 The following prerequisites must be assessed before beginning the procedure:
 
-- Retrieve the Kogito TAG version (eg. `10.0.0`) or TIMESTAMPED SNAPSHOT to 
apply (eg. `10.1.0-20240218-SNAPSHOT`)
-- Check if the below Kogito version upgraded the Quarkus version (eg. from 
`3.8.0` to `3.8.1`). In that case, we need to upgrade Quarkus version in 
kie-tools accordingly.
-- Check if the below Kogito version upgraded to the Java version (eg. from 
Java `17` to Java `21`). In such a case, we need to upgrade kie-tools Java 
modules accordingly.
-- Check if the below Kogito version upgraded to the Maven version (eg. from 
Maven `3.9.6` to Maven `3.9.7`). In such a case, we need to upgrade kie-tools 
Maven modules accordingly.
+- Check if the below Kogito version upgraded the **Quarkus version** (E.g., 
from `3.8.0` to `3.8.1`). In that case, we need to upgrade Quarkus version in 
`kie-tools` accordingly.
+- Check if the below Kogito version upgraded to the **Java version** (E.g., 
from Java `17` to Java `21`). In such a case, we need to upgrade `kie-tools` 
Java modules accordingly.
+- Check if the below Kogito version upgraded to the **Maven version** (E.g., 
from Maven `3.9.6` to Maven `3.9.7`). In such a case, we need to upgrade 
`kie-tools` Maven modules accordingly.
+
+## Upgrading Quarkus
+
+The Quarkus version is present in the following file categories:
+
+- `root-env/env/index.js` file
+- go test files
+
+The best (and fastest) way to catch all the Quarkus versions is to perform a 
search a grep (or the IDE integrated search) and replace it with the new 
version. So, as a key, you can use:
+
+- The version number (E.g., `3.8.0`);
+
+Of course, a new Quarkus version may lead to incompatibilities in the code and 
with other dependencies. In such a case, an investigation and eventually a fix 
are required to complete the process.
+
+You can find an example of the Quarkus upgrade in [this 
PR](https://github.com/apache/incubator-kie-tools/pull/2193)
 
-# Upgrading Java & Maven
+## Upgrading Java & Maven
 
-To upgrade Java and Maven versions, you should first identify all the Java 
modules currently present in the kie-tools guide.
+To upgrade Java and Maven versions, you should first identify all the Java 
modules currently present in the `kie-tools` guide.
 
 In detail, the involved module's categories are:
 
 - Jenkins and GitHub actions configuration files;
 - GWT based modules;
 - Images generation modules;
-- Quarkus-based application (eg. extended-services-java)
-- Java application (eg. vscode-java-code-completion-extension-plugin-core)
-- JBang scripts (eg dmn-marshaller tests)
+- Quarkus-based application (E.g., extended-services-java)
+- Java application (E.g., vscode-java-code-completion-extension-plugin-core)
+- JBang scripts (E.g., dmn-marshaller tests)
 
 The suggested strategy is to check all:
 
 - pom.xml files for Java version references (typically in maven compiler 
properties)
 - Github Action yaml configuration files
 - Images Dockerfile and Containerfile
-- JBang scripts (eg. Plain .java files that start with `///usr/bin/env jbang 
"$0" "$@" ; exit $?`)
+- JBang scripts (E.g., Plain .java files that start with `///usr/bin/env jbang 
"$0" "$@" ; exit $?`)
 
 To double-check that all the versions are correctly updated, please perform a 
search with grep (or the IDE-integrated search) if the old version is still 
referenced somewhere. As a key, you can use:
 
-- The version number (eg. `17` for Java and `3.9.6` for Maven);
+- The version number (E.g., `17` for Java and `3.9.6` for Maven);
 - OpenJDK references (`openjdk`);
 - Apache Maven references (`apache-maven`);
 - GitHub Action references (`java-version` and `maven-version`);
@@ -69,30 +102,7 @@ Don't forget to update the Java and Maven versions in this 
file `repo/build-depe
 
 You can find an example of the Java / Maven versions upgrade in [this 
PR](https://github.com/apache/incubator-kie-tools/pull/2182)
 
-# Upgrading Quarkus
-
-The Quarkus version is present in the following file categories:
-
-- `root-env/env/index.js` file
-- go test files
-
-The best (and fastest) way to catch all the Quarkus versions is to perform a 
search a grep (or the IDE integrated search) and replace it with the new 
version. So, as a key, you can use:
-
-- The version number (eg. `3.8.0`);
-
-Of course, a new Quarkus version may lead to incompatibilities in the code and 
with other dependencies. In such a case, an investigation and eventually a fix 
are required to complete the process.
-
-You can find an example of the Quarkus upgrade in [this 
PR](https://github.com/apache/incubator-kie-tools/pull/2193)
-
-# Upgrading Kogito
-
-In the root directory, run `pnpm update-kogito-version-to --maven [version]`.
-
-Of course, a new Kogito version may lead to incompatibilities in the code and 
with other dependencies. In such a case, an investigation and evetually a fix 
is required to complete the process.
-
-You can find an example of the Kogito version upgrade in [this 
PR](https://github.com/apache/incubator-kie-tools/pull/2229)
-
-# Upgrading GraphQL schemas in `@kie-tools/runtime-tools-process-gateway-api`& 
`@kie-tools/runtime-tools-swf-gateway-api`
+## Upgrading GraphQL schemas in `@kie-tools/runtime-tools-process-gateway-api` 
& `@kie-tools/runtime-tools-swf-gateway-api`
 
 The following commands will help to sync up the gateway apis the GraphQL 
schema with the new Kogito Data Index GraphQL schema:
 
@@ -100,5 +110,4 @@ The following commands will help to sync up the gateway 
apis the GraphQL schema
 - Run `pnpm -F @kie-tools/runtime-tools-process-gateway-api graphql:codegen`
 - Run `pnpm -F @kie-tools/runtime-tools-swf-gateway-api graphql:codegen`
 
-After upgrading the GraphQL schemas it is recommended to verify that the 
incoming changes aren't breaking the consoles or
-devui's and fix any possible conflict if needed.
+After upgrading the GraphQL schemas it is recommended to verify that the 
incoming changes aren't breaking the consoles or devui's and fix any possible 
conflict if needed.
diff --git a/repo/graph.dot b/repo/graph.dot
index 4a2b9dfdc3e..5eb28eae501 100644
--- a/repo/graph.dot
+++ b/repo/graph.dot
@@ -116,10 +116,12 @@ digraph G {
   "@kie-tools-core/switch-expression-ts" [ color = "purple", fontcolor = 
"purple", style = "rounded" ];
   "@kie-tools/dmn-marshaller-backend-compatibility-tester" [ color = "black", 
fontcolor = "black", style = "dashed, rounded" ];
   "@kie-tools/dmn-testing-models" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
+  "@kie-tools-core/drools-and-kogito" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
   "@kie-tools/dmn-runner" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
   "@kie-tools/extended-services-api" [ color = "blue", fontcolor = "blue", 
style = "rounded" ];
   "dmn-vscode-extension" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
   "@kie-tools/scesim-editor-envelope" [ color = "blue", fontcolor = "blue", 
style = "rounded" ];
+  "@kie-tools-scripts/build-env" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
   "@kie-tools-core/keyboard-shortcuts" [ color = "purple", fontcolor = 
"purple", style = "rounded" ];
   "@kie-tools-core/notifications" [ color = "purple", fontcolor = "purple", 
style = "rounded" ];
   "@kie-tools-core/envelope-bus" [ color = "purple", fontcolor = "purple", 
style = "rounded" ];
@@ -218,7 +220,6 @@ digraph G {
   "@kie-tools/yard-model" [ color = "black", fontcolor = "black", style = 
"dashed, rounded" ];
   "@kie-tools/yard-validator-worker" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
   "yard-vscode-extension" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
-  "@kie-tools-scripts/build-env" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
   "kie-tools-root" -> "@kie-tools-scripts/bootstrap" [ style = "dashed", color 
= "black" ];
   "kie-tools-root" -> "@kie-tools-scripts/check-junit-report-results" [ style 
= "dashed", color = "black" ];
   "kie-tools-root" -> "@kie-tools-scripts/run-script-if" [ style = "dashed", 
color = "black" ];
@@ -382,8 +383,7 @@ digraph G {
   "@kie-tools/dmn-marshaller" -> 
"@kie-tools/dmn-marshaller-backend-compatibility-tester" [ style = "dashed", 
color = "blue" ];
   "@kie-tools/dmn-marshaller" -> "@kie-tools/dmn-testing-models" [ style = 
"dashed", color = "blue" ];
   "@kie-tools/dmn-marshaller" -> "@kie-tools/xml-parser-ts-codegen" [ style = 
"dashed", color = "blue" ];
-  "@kie-tools/dmn-marshaller-backend-compatibility-tester" -> 
"@kie-tools/root-env" [ style = "dashed", color = "black" ];
-  "@kie-tools/dmn-marshaller-backend-compatibility-tester" -> 
"@kie-tools/tsconfig" [ style = "dashed", color = "black" ];
+  "@kie-tools/dmn-marshaller-backend-compatibility-tester" -> 
"@kie-tools-core/drools-and-kogito" [ style = "dashed", color = "black" ];
   "@kie-tools/dmn-runner" -> "@kie-tools-core/react-hooks" [ style = "solid", 
color = "blue" ];
   "@kie-tools/dmn-runner" -> "@kie-tools/extended-services-api" [ style = 
"solid", color = "blue" ];
   "@kie-tools/dmn-runner" -> "@kie-tools/uniforms-patternfly" [ style = 
"solid", color = "blue" ];
@@ -394,6 +394,8 @@ digraph G {
   "dmn-vscode-extension" -> "@kie-tools/scesim-editor-envelope" [ style = 
"solid", color = "blue" ];
   "dmn-vscode-extension" -> "@kie-tools/stunner-editors" [ style = "dashed", 
color = "blue" ];
   "dmn-vscode-extension" -> 
"@kie-tools/vscode-java-code-completion-extension-plugin" [ style = "dashed", 
color = "blue" ];
+  "@kie-tools-core/drools-and-kogito" -> "@kie-tools-scripts/build-env" [ 
style = "dashed", color = "black" ];
+  "@kie-tools-core/drools-and-kogito" -> "@kie-tools/root-env" [ style = 
"dashed", color = "black" ];
   "@kie-tools-core/editor" -> "@kie-tools-core/envelope" [ style = "solid", 
color = "purple" ];
   "@kie-tools-core/editor" -> "@kie-tools-core/keyboard-shortcuts" [ style = 
"solid", color = "purple" ];
   "@kie-tools-core/editor" -> "@kie-tools-core/notifications" [ style = 
"solid", color = "purple" ];
@@ -475,26 +477,26 @@ digraph G {
   "@kie-tools/kie-sandbox-webapp-image" -> "@kie-tools/image-builder" [ style 
= "dashed", color = "black" ];
   "@kie-tools/kn-plugin-workflow" -> "@kie-tools/sonataflow-operator" [ style 
= "dashed", color = "black" ];
   "@kie/kogito-base-builder-image" -> "@kie-tools/sonataflow-image-common" [ 
style = "dashed", color = "black" ];
-  "@kie/kogito-data-index-ephemeral-image" -> "@kie-tools/maven-base" [ style 
= "dashed", color = "black" ];
+  "@kie/kogito-data-index-ephemeral-image" -> "@kie-tools/maven-base" [ style 
= "solid", color = "black" ];
   "@kie/kogito-data-index-ephemeral-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ];
-  "@kie/kogito-data-index-postgresql-image" -> "@kie-tools/maven-base" [ style 
= "dashed", color = "black" ];
+  "@kie/kogito-data-index-postgresql-image" -> "@kie-tools/maven-base" [ style 
= "solid", color = "black" ];
   "@kie/kogito-data-index-postgresql-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ];
   "@kie-tools/kogito-db-migrator-tool" -> "@kie-tools/maven-base" [ style = 
"solid", color = "black" ];
   "@kie-tools/kogito-db-migrator-tool-image" -> 
"@kie-tools/kogito-db-migrator-tool" [ style = "solid", color = "black" ];
   "@kie-tools/kogito-db-migrator-tool-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "solid", color = "black" ];
-  "@kie/kogito-jit-runner-image" -> "@kie-tools/maven-base" [ style = 
"dashed", color = "black" ];
+  "@kie/kogito-jit-runner-image" -> "@kie-tools/maven-base" [ style = "solid", 
color = "black" ];
   "@kie/kogito-jit-runner-image" -> "@kie-tools/sonataflow-image-common" [ 
style = "dashed", color = "black" ];
-  "@kie/kogito-jobs-service-allinone-image" -> "@kie-tools/maven-base" [ style 
= "dashed", color = "black" ];
+  "@kie/kogito-jobs-service-allinone-image" -> "@kie-tools/maven-base" [ style 
= "solid", color = "black" ];
   "@kie/kogito-jobs-service-allinone-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ];
-  "@kie/kogito-jobs-service-ephemeral-image" -> "@kie-tools/maven-base" [ 
style = "dashed", color = "black" ];
+  "@kie/kogito-jobs-service-ephemeral-image" -> "@kie-tools/maven-base" [ 
style = "solid", color = "black" ];
   "@kie/kogito-jobs-service-ephemeral-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ];
-  "@kie/kogito-jobs-service-postgresql-image" -> "@kie-tools/maven-base" [ 
style = "dashed", color = "black" ];
+  "@kie/kogito-jobs-service-postgresql-image" -> "@kie-tools/maven-base" [ 
style = "solid", color = "black" ];
   "@kie/kogito-jobs-service-postgresql-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ];
   "@kie-tools/kogito-management-console" -> "@kie-tools/image-builder" [ style 
= "dashed", color = "black" ];
   "@kie-tools/kogito-management-console" -> "@kie-tools/image-env-to-json" [ 
style = "dashed", color = "black" ];
   "@kie-tools/kogito-management-console" -> 
"@kie-tools/runtime-tools-management-console-webapp" [ style = "dashed", color 
= "black" ];
   "@kie-tools-core/kubernetes-bridge" -> "@kie-tools/cors-proxy-api" [ style = 
"solid", color = "purple" ];
-  "@kie-tools/maven-base" -> "@kie-tools/root-env" [ style = "dashed", color = 
"black" ];
+  "@kie-tools/maven-base" -> "@kie-tools-core/drools-and-kogito" [ style = 
"solid", color = "black" ];
   "@kie-tools/maven-m2-repo-via-http-image" -> "@kie-tools/image-builder" [ 
style = "dashed", color = "black" ];
   "@kie-tools/maven-m2-repo-via-http-image" -> "@kie-tools/root-env" [ style = 
"dashed", color = "black" ];
   "@kie-tools-core/monaco-editor" -> "@kie-tools/eslint" [ style = "dashed", 
color = "purple" ];
@@ -608,7 +610,7 @@ digraph G {
   "@kie-tools/serverless-workflow-dev-ui-webapp" -> 
"@kie-tools/runtime-tools-swf-webapp-components" [ style = "solid", color = 
"black" ];
   "@kie-tools/serverless-workflow-dev-ui-webapp" -> 
"@kie-tools/serverless-workflow-dev-ui-monitoring-webapp" [ style = "solid", 
color = "black" ];
   "@kie-tools/serverless-workflow-dev-ui-webapp" -> 
"@kie-tools/sonataflow-dev-app" [ style = "dashed", color = "black" ];
-  "@kie-tools/serverless-workflow-diagram-editor" -> "@kie-tools/maven-base" [ 
style = "dashed", color = "black" ];
+  "@kie-tools/serverless-workflow-diagram-editor" -> "@kie-tools/maven-base" [ 
style = "solid", color = "black" ];
   "@kie-tools/serverless-workflow-diagram-editor-assets" -> 
"@kie-tools/serverless-workflow-diagram-editor" [ style = "dashed", color = 
"blue" ];
   "@kie-tools/serverless-workflow-diagram-editor-assets" -> 
"@kie-tools/serverless-workflow-diagram-editor-envelope" [ style = "dashed", 
color = "blue" ];
   "@kie-tools/serverless-workflow-diagram-editor-envelope" -> 
"@kie-tools/kie-bc-editors" [ style = "solid", color = "blue" ];
@@ -625,7 +627,7 @@ digraph G {
   "swf-vscode-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", 
color = "blue" ];
   "swf-vscode-extension" -> 
"@kie-tools/serverless-workflow-diagram-editor-assets" [ style = "dashed", 
color = "blue" ];
   "swf-vscode-extension" -> "@kie-tools/vscode-extension-common-test-helpers" 
[ style = "dashed", color = "blue" ];
-  "@kie-tools/sonataflow-builder-image" -> "@kie-tools/maven-base" [ style = 
"dashed", color = "black" ];
+  "@kie-tools/sonataflow-builder-image" -> "@kie-tools/maven-base" [ style = 
"solid", color = "black" ];
   "@kie-tools/sonataflow-builder-image" -> 
"@kie-tools/maven-m2-repo-via-http-image" [ style = "dashed", color = "black" ];
   "@kie-tools/sonataflow-builder-image" -> 
"@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ];
   "sonataflow-deployment-webapp" -> "@kie-tools-core/react-hooks" [ style = 
"solid", color = "blue" ];
diff --git a/repo/graph.json b/repo/graph.json
index 533b0ccc1c4..a77841d69aa 100644
--- a/repo/graph.json
+++ b/repo/graph.json
@@ -74,6 +74,7 @@
       },
       { "id": "@kie-tools-examples/process-accelerator" },
       { "id": "@kie-tools/maven-base" },
+      { "id": "@kie-tools-core/drools-and-kogito" },
       { "id": "@kie-tools-examples/process-business-calendar" },
       { "id": "@kie-tools/jbpm-quarkus-devui" },
       { "id": "@kie-tools/runtime-tools-process-dev-ui-webapp" },
@@ -690,6 +691,16 @@
       },
       {
         "source": "@kie-tools/maven-base",
+        "target": "@kie-tools-core/drools-and-kogito",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools-core/drools-and-kogito",
+        "target": "@kie-tools-scripts/build-env",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools-core/drools-and-kogito",
         "target": "@kie-tools/root-env",
         "weight": 1
       },
@@ -1640,12 +1651,7 @@
       },
       {
         "source": "@kie-tools/dmn-marshaller-backend-compatibility-tester",
-        "target": "@kie-tools/root-env",
-        "weight": 1
-      },
-      {
-        "source": "@kie-tools/dmn-marshaller-backend-compatibility-tester",
-        "target": "@kie-tools/tsconfig",
+        "target": "@kie-tools-core/drools-and-kogito",
         "weight": 1
       },
       {
@@ -2873,6 +2879,7 @@
     ["@kie-tools/dmn-runner", "packages/dmn-runner"],
     ["@kie-tools/dmn-testing-models", "packages/dmn-testing-models"],
     ["dmn-vscode-extension", "packages/dmn-vscode-extension"],
+    ["@kie-tools-core/drools-and-kogito", "packages/drools-and-kogito"],
     ["@kie-tools-core/editor", "packages/editor"],
     ["@kie-tools-core/envelope", "packages/envelope"],
     ["@kie-tools-core/envelope-bus", "packages/envelope-bus"],
diff --git a/scripts/update-kogito-version/README.md 
b/scripts/update-kogito-version/README.md
index ab3821f640a..a0623dd4af4 100644
--- a/scripts/update-kogito-version/README.md
+++ b/scripts/update-kogito-version/README.md
@@ -15,13 +15,13 @@
    under the License.
 -->
 
-## @kie-tools-scripts/update-version
+## @kie-tools-scripts/update-kogito-version
 
-Updates the default value of `KOGITO_RUNTIME_version` of `packages/root-env` 
and runs `pnpm bootstrap` at the end.
+Updates the default value of `KOGITO_RUNTIME_version` of `packages/root-env`, 
optionally the Git refs of repositories `packages/drools-and-kogito`, and runs 
`pnpm bootstrap` at the end.
 
 ### Usage
 
-`pnpm update-kogito-version-to --maven [new-version]`
+`pnpm update-kogito-version-to --maven {new-version} [--droolsGitRef {ref} 
--optaplannerGitRef {ref} --kogitoRuntimesGitRef {ref} --kogitoAppsGitRef 
{ref}]`
 
 ---
 
diff --git a/scripts/update-kogito-version/update_kogito_version.js 
b/scripts/update-kogito-version/update_kogito_version.js
index df2396eb796..242602a588f 100755
--- a/scripts/update-kogito-version/update_kogito_version.js
+++ b/scripts/update-kogito-version/update_kogito_version.js
@@ -23,14 +23,32 @@ const execSync = require("child_process").execSync;
 
 const newMavenVersion = process.argv[3];
 if (!newMavenVersion) {
-  console.error("Usage 'node update_kogito_version.js --maven [version]");
+  console.error(
+    "Usage 'node update_kogito_version.js --maven {version} [--droolsGitRef 
{ref} --optaplannerGitRef {ref} --kogitoRuntimesGitRef {ref} --kogitoAppsGitRef 
{ref}]"
+  );
   return 1;
 }
 
-if (process.argv[2] !== "--maven") {
+const newDroolsGitRef = process.argv[5] ?? "drools--n/a";
+const newOptaPlannerGitRef = process.argv[7] ?? "optaplanner--n/a";
+const newKogitoRuntimesGitRef = process.argv[9] ?? "kogito-runtimes--n/a";
+const newKogitoAppsGitRef = process.argv[11] ?? "kogito-apps--n/a";
+
+console.log(`[update-kogito-version] process.argv:`);
+console.log(process.argv);
+
+if (
+  process.argv[2] !== "--maven" ||
+  (process.argv[4] && process.argv[4] !== "--droolsGitRef") ||
+  (process.argv[6] && process.argv[6] !== "--optaplannerGitRef") ||
+  (process.argv[8] && process.argv[8] !== "--kogitoRuntimesGitRef") ||
+  (process.argv[10] && process.argv[10] !== "--kogitoAppsGitRef")
+) {
   console.error("Arguments need to be passed in the correct order.");
   console.error(`Argv: ${process.argv.join(", ")}`);
-  console.error("Usage 'node update_kogito_version.js --maven [version]");
+  console.error(
+    "Usage 'node update_kogito_version.js --maven {version} [--droolsGitRef 
{ref} --optaplannerGitRef {ref} --kogitoRuntimesGitRef {ref} --kogitoAppsGitRef 
{ref}]"
+  );
   process.exit(1);
 }
 
@@ -48,6 +66,44 @@ try {
         `KOGITO_RUNTIME_version: {\n      default: "${newMavenVersion}"`
       )
   );
+  console.info("[update-kogito-version] Updating 
'packages/drools-and-kogito/env/index.js'...");
+  const droolsAndKogitoEnvPath = path.resolve(__dirname, 
"../../packages/drools-and-kogito/env/index.js");
+  fs.writeFileSync(
+    droolsAndKogitoEnvPath,
+    fs
+      .readFileSync(droolsAndKogitoEnvPath, "utf-8")
+      .replace(
+        
/DROOLS_AND_KOGITO__droolsRepoGitRef:[\s\n]*{[\s\n]*default:[\s\n]*".*"/,
+        `DROOLS_AND_KOGITO__droolsRepoGitRef: {\n      default: 
"${newDroolsGitRef}"`
+      )
+  );
+  fs.writeFileSync(
+    droolsAndKogitoEnvPath,
+    fs
+      .readFileSync(droolsAndKogitoEnvPath, "utf-8")
+      .replace(
+        
/DROOLS_AND_KOGITO__optaplannerRepoGitRef:[\s\n]*{[\s\n]*default:[\s\n]*".*"/,
+        `DROOLS_AND_KOGITO__optaplannerRepoGitRef: {\n      default: 
"${newOptaPlannerGitRef}"`
+      )
+  );
+  fs.writeFileSync(
+    droolsAndKogitoEnvPath,
+    fs
+      .readFileSync(droolsAndKogitoEnvPath, "utf-8")
+      .replace(
+        
/DROOLS_AND_KOGITO__kogitoRuntimesRepoGitRef:[\s\n]*{[\s\n]*default:[\s\n]*".*"/,
+        `DROOLS_AND_KOGITO__kogitoRuntimesRepoGitRef: {\n      default: 
"${newKogitoRuntimesGitRef}"`
+      )
+  );
+  fs.writeFileSync(
+    droolsAndKogitoEnvPath,
+    fs
+      .readFileSync(droolsAndKogitoEnvPath, "utf-8")
+      .replace(
+        
/DROOLS_AND_KOGITO__kogitoAppsRepoGitRef:[\s\n]*{[\s\n]*default:[\s\n]*".*"/,
+        `DROOLS_AND_KOGITO__kogitoAppsRepoGitRef: {\n      default: 
"${newKogitoAppsGitRef}"`
+      )
+  );
 
   console.info(`[update-kogito-version] Bootstrapping with updated Kogito 
version...`);
   execSync(`pnpm bootstrap`, execOpts);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to