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

ricardozanini 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 a8724d5a110 [sonataflow-image-common] NO-ISSUE: Add env var to update 
Quarkus config.yaml on build:dev (#3172)
a8724d5a110 is described below

commit a8724d5a110376951e591baf44e5fa5a5f55b067
Author: Ricardo Zanini <[email protected]>
AuthorDate: Wed Jun 11 13:22:47 2025 -0300

    [sonataflow-image-common] NO-ISSUE: Add env var to update Quarkus 
config.yaml on build:dev (#3172)
    
    Signed-off-by: Ricardo Zanini <[email protected]>
    Co-authored-by: Fabrizio Antonangeli <[email protected]>
---
 packages/sonataflow-image-common/env/index.js      |  7 +++
 packages/sonataflow-image-common/package.json      |  9 ++-
 .../common/quarkus/registry/.quarkus/config.yaml   |  2 +-
 .../resources/scripts/update_quarkus_config.py     | 72 ++++++++++++++++++++++
 4 files changed, 87 insertions(+), 3 deletions(-)

diff --git a/packages/sonataflow-image-common/env/index.js 
b/packages/sonataflow-image-common/env/index.js
index 90987933577..33e0b3b1805 100644
--- a/packages/sonataflow-image-common/env/index.js
+++ b/packages/sonataflow-image-common/env/index.js
@@ -25,11 +25,18 @@ module.exports = 
composeEnv([require("@kie-tools/root-env/env")], {
       default: "io.quarkus.platform",
       description: "Quarkus platform group id.",
     },
+    KOGITO_IMAGES_CEKIT_MODULES_quarkusRegistries: {
+      default: "registry.quarkus.io",
+      description:
+        "Quarkus Registry URLs comma-separated to add to the 
.quarkus/config.yaml file. Variables substitutions are done during bootstrap 
phase.",
+      example: "registry.com,registry2.com",
+    },
   }),
   get env() {
     return {
       kogitoImagesCekitModules: {
         quarkusGroupId: 
getOrDefault(this.vars.KOGITO_IMAGES_CEKIT_MODULES__quarkusGroupId),
+        quarkusRegistries: 
getOrDefault(this.vars.KOGITO_IMAGES_CEKIT_MODULES_quarkusRegistries),
       },
     };
   },
diff --git a/packages/sonataflow-image-common/package.json 
b/packages/sonataflow-image-common/package.json
index 2a307a83e2d..7a830e09cac 100644
--- a/packages/sonataflow-image-common/package.json
+++ b/packages/sonataflow-image-common/package.json
@@ -13,11 +13,16 @@
     "url": "https://github.com/apache/incubator-kie-tools/issues";
   },
   "scripts": {
-    "build:prod": "pnpm test",
+    "build:dev": "pnpm update:quarkus:config && pnpm format && pnpm test",
+    "build:prod": "pnpm build:dev",
+    "format": "prettier --write .",
     "install": "node install.js",
     "test": "run-script-os",
     "test:linux:darwin": "run-script-if --ignore-errors \"$(build-env 
tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"mkdir -p 
dist-tests\" \"rm -rf dist-tests/*\" \"make -C ./resources bats\" --finally 
\"touch dist-tests/report.xml\" \"mv dist-tests/report.xml 
dist-tests/junit-report.xml\"",
-    "test:win32": "echo \"Tests are skipped in Windows\""
+    "test:win32": "echo \"Tests are skipped in Windows\"",
+    "update:quarkus:config": "run-script-os",
+    "update:quarkus:config:linux:darwin": 
"node_modules/@kie-tools/python-venv/venv/bin/python 
resources/scripts/update_quarkus_config.py $(build-env 
kogitoImagesCekitModules.quarkusRegistries)",
+    "update:quarkus:config:win32": "echo \"Update Quarkus Config is skipped on 
Windows\""
   },
   "devDependencies": {
     "@kie-tools/python-venv": "workspace:*",
diff --git 
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/quarkus/registry/.quarkus/config.yaml
 
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/quarkus/registry/.quarkus/config.yaml
index 94eadcbf0ea..f4e5e1913af 100644
--- 
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/quarkus/registry/.quarkus/config.yaml
+++ 
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/quarkus/registry/.quarkus/config.yaml
@@ -1,3 +1,3 @@
 registries:
   - registry.quarkus.io:
-      update-policy: "never"
+      update-policy: never
diff --git 
a/packages/sonataflow-image-common/resources/scripts/update_quarkus_config.py 
b/packages/sonataflow-image-common/resources/scripts/update_quarkus_config.py
new file mode 100755
index 00000000000..a2bb1069700
--- /dev/null
+++ 
b/packages/sonataflow-image-common/resources/scripts/update_quarkus_config.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python3
+#
+# 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.
+#
+
+"""
+update_quarkus_config.py
+
+Dev script that updates:
+  resources/modules/sonataflow/common/quarkus/registry/.quarkus/config.yaml
+
+to contain exactly the registries passed as a comma-separated list.
+
+Usage:
+  ./update_quarkus_config.py registry1,registry2,registry3
+
+Example:
+  ./update_quarkus_config.py 
registry.acme.com,internal.registry.local,registry.quarkus.io
+"""
+
+import sys
+from ruamel.yaml import YAML
+
+def main():
+    if len(sys.argv) != 2:
+        print(f"Usage: {sys.argv[0]} registry1,registry2,...")
+        sys.exit(1)
+
+    regs = [r.strip() for r in sys.argv[1].split(",") if r.strip()]
+    if not regs:
+        print("Error: You must pass at least one registry URL.")
+        sys.exit(1)
+
+    file_path = 
"resources/modules/sonataflow/common/quarkus/registry/.quarkus/config.yaml"
+
+    yaml = YAML()
+    yaml.preserve_quotes = True
+
+    try:
+        with open(file_path, "r") as f:
+            data = yaml.load(f) or {}
+    except FileNotFoundError:
+        data = {}
+
+    new_list = []
+    for r in regs:
+        new_list.append({r: {"update-policy": "never"}})
+
+    data["registries"] = new_list
+
+    with open(file_path, "w") as f:
+        yaml.dump(data, f)
+
+    print(f"→ Updated '{file_path}' with registries: {', '.join(regs)}")
+
+if __name__ == "__main__":
+    main()


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

Reply via email to