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

davsclaus pushed a commit to branch feature/CAMEL-25261-bundle-offline-examples
in repository https://gitbox.apache.org/repos/asf/camel-jbang-examples.git

commit ed216c6a0617726d44c2e010d5f3088937278dde
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Oct 2 11:01:35 2026 +0200

    CAMEL-25261: bundle the examples of the ladder that run offline; the 
catalog skips the files git ignores
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 camel-jbang-example-catalog.json          | 38 +++++++++++++++----------------
 connect/file-processing/metadata.json     |  2 +-
 connect/http-client/metadata.json         |  2 +-
 connect/stock-api/metadata.json           |  2 +-
 contracts/openapi-client/metadata.json    |  2 +-
 contracts/openapi-server/metadata.json    |  2 +-
 fail-well/error-handling/metadata.json    |  2 +-
 generate-catalog.sh                       | 12 +++++++++-
 route/aggregator/metadata.json            |  2 +-
 route/content-based-router/metadata.json  |  2 +-
 route/filter-and-multicast/metadata.json  |  2 +-
 route/order-lines/metadata.json           |  2 +-
 run/nightly-report/metadata.json          |  2 +-
 run/order-generator/metadata.json         |  2 +-
 run/properties-and-profiles/metadata.json |  2 +-
 transform/csv-to-json/metadata.json       |  2 +-
 transform/data-mapping/metadata.json      |  2 +-
 transform/groovy/metadata.json            |  2 +-
 transform/json-transform/metadata.json    |  2 +-
 transform/xml-to-json/metadata.json       |  2 +-
 transform/xslt/metadata.json              |  2 +-
 21 files changed, 49 insertions(+), 39 deletions(-)

diff --git a/camel-jbang-example-catalog.json b/camel-jbang-example-catalog.json
index 253edf0..dbabdbe 100644
--- a/camel-jbang-example-catalog.json
+++ b/camel-jbang-example-catalog.json
@@ -509,7 +509,7 @@
             "inbox",
             "archive"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -560,7 +560,7 @@
             "rest",
             "client"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -606,7 +606,7 @@
             "http",
             "platform-http"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -691,7 +691,7 @@
             "client",
             "contract"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -741,7 +741,7 @@
             "rest",
             "contract"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -823,7 +823,7 @@
             "retry",
             "dead-letter"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -991,7 +991,7 @@
             "aggregator",
             "batch"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1031,7 +1031,7 @@
             "choice",
             "routing"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1073,7 +1073,7 @@
             "filter",
             "multicast"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1114,7 +1114,7 @@
             "splitter",
             "split"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1149,7 +1149,7 @@
             "cron",
             "schedule"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1184,7 +1184,7 @@
             "bean",
             "json"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1219,7 +1219,7 @@
             "profiles",
             "configuration"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1411,7 +1411,7 @@
             "file",
             "transformation"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1452,7 +1452,7 @@
             "json",
             "transformation"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1493,7 +1493,7 @@
             "validation",
             "dependencies"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1534,7 +1534,7 @@
             "jsonpath",
             "transformation"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1571,7 +1571,7 @@
             "jackson",
             "transformation"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
@@ -1603,7 +1603,7 @@
             "xslt",
             "transformation"
         ],
-        "bundled": false,
+        "bundled": true,
         "requiresDocker": false,
         "hasCitrusTests": true,
         "files": [
diff --git a/connect/file-processing/metadata.json 
b/connect/file-processing/metadata.json
index 87dc0d0..3f4ae15 100644
--- a/connect/file-processing/metadata.json
+++ b/connect/file-processing/metadata.json
@@ -27,5 +27,5 @@
         "inbox",
         "archive"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/connect/http-client/metadata.json 
b/connect/http-client/metadata.json
index 01ce931..07a2492 100644
--- a/connect/http-client/metadata.json
+++ b/connect/http-client/metadata.json
@@ -34,5 +34,5 @@
         "rest",
         "client"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/connect/stock-api/metadata.json b/connect/stock-api/metadata.json
index c9c12a8..cf02c8c 100644
--- a/connect/stock-api/metadata.json
+++ b/connect/stock-api/metadata.json
@@ -30,5 +30,5 @@
         "http",
         "platform-http"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/contracts/openapi-client/metadata.json 
b/contracts/openapi-client/metadata.json
index 0b4bfdf..8befdd6 100644
--- a/contracts/openapi-client/metadata.json
+++ b/contracts/openapi-client/metadata.json
@@ -31,5 +31,5 @@
         "client",
         "contract"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/contracts/openapi-server/metadata.json 
b/contracts/openapi-server/metadata.json
index 0254c01..2983f8b 100644
--- a/contracts/openapi-server/metadata.json
+++ b/contracts/openapi-server/metadata.json
@@ -34,5 +34,5 @@
         "rest",
         "contract"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/fail-well/error-handling/metadata.json 
b/fail-well/error-handling/metadata.json
index a8be62b..690c121 100644
--- a/fail-well/error-handling/metadata.json
+++ b/fail-well/error-handling/metadata.json
@@ -32,5 +32,5 @@
         "retry",
         "dead-letter"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/generate-catalog.sh b/generate-catalog.sh
index da831c5..9fa9660 100755
--- a/generate-catalog.sh
+++ b/generate-catalog.sh
@@ -30,6 +30,7 @@ CATALOG_FILE="$SCRIPT_DIR/camel-jbang-example-catalog.json"
 python3 - "$SCRIPT_DIR" "$CATALOG_FILE" << 'PYEOF'
 import json
 import os
+import subprocess
 import sys
 
 repo_root = sys.argv[1]
@@ -45,6 +46,14 @@ SKIP_EXTENSIONS = {
     ".excalidraw", ".iml"
 }
 
+# the files git ignores (what an example writes when run locally, such as 
parked/ or inbox/) are no example files
+try:
+    ignored = set(subprocess.run(
+        ["git", "ls-files", "--others", "--ignored", "--exclude-standard"],
+        cwd=repo_root, capture_output=True, text=True, 
check=True).stdout.splitlines())
+except (OSError, subprocess.CalledProcessError):
+    ignored = set()
+
 catalog = []
 
 for dirpath, dirnames, filenames in sorted(os.walk(repo_root)):
@@ -82,7 +91,8 @@ for dirpath, dirnames, filenames in 
sorted(os.walk(repo_root)):
                     and not f.startswith(".")
                     and os.path.splitext(f)[1].lower() not in SKIP_EXTENSIONS):
                 rel = os.path.relpath(os.path.join(sub_dirpath, f), dirpath)
-                files.append(rel)
+                if os.path.relpath(os.path.join(sub_dirpath, f), repo_root) 
not in ignored:
+                    files.append(rel)
     files.sort()
 
     requires_docker = ("compose.yaml" in filenames or "docker-compose.yaml" in 
filenames
diff --git a/route/aggregator/metadata.json b/route/aggregator/metadata.json
index f791fbc..3636de3 100644
--- a/route/aggregator/metadata.json
+++ b/route/aggregator/metadata.json
@@ -29,5 +29,5 @@
         "aggregator",
         "batch"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/route/content-based-router/metadata.json 
b/route/content-based-router/metadata.json
index 8093113..5c4e456 100644
--- a/route/content-based-router/metadata.json
+++ b/route/content-based-router/metadata.json
@@ -25,5 +25,5 @@
         "choice",
         "routing"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/route/filter-and-multicast/metadata.json 
b/route/filter-and-multicast/metadata.json
index 2b8d966..1e29593 100644
--- a/route/filter-and-multicast/metadata.json
+++ b/route/filter-and-multicast/metadata.json
@@ -27,5 +27,5 @@
         "filter",
         "multicast"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/route/order-lines/metadata.json b/route/order-lines/metadata.json
index 5f6073c..2f86c2b 100644
--- a/route/order-lines/metadata.json
+++ b/route/order-lines/metadata.json
@@ -26,5 +26,5 @@
         "splitter",
         "split"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/run/nightly-report/metadata.json b/run/nightly-report/metadata.json
index 08f5b6f..80f93c8 100644
--- a/run/nightly-report/metadata.json
+++ b/run/nightly-report/metadata.json
@@ -20,5 +20,5 @@
         "cron",
         "schedule"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/run/order-generator/metadata.json 
b/run/order-generator/metadata.json
index f146dd8..e009640 100644
--- a/run/order-generator/metadata.json
+++ b/run/order-generator/metadata.json
@@ -23,5 +23,5 @@
         "bean",
         "json"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/run/properties-and-profiles/metadata.json 
b/run/properties-and-profiles/metadata.json
index 62d1cb1..5bf3177 100644
--- a/run/properties-and-profiles/metadata.json
+++ b/run/properties-and-profiles/metadata.json
@@ -21,5 +21,5 @@
         "profiles",
         "configuration"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/transform/csv-to-json/metadata.json 
b/transform/csv-to-json/metadata.json
index bfbd372..d611de8 100644
--- a/transform/csv-to-json/metadata.json
+++ b/transform/csv-to-json/metadata.json
@@ -28,5 +28,5 @@
         "file",
         "transformation"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/transform/data-mapping/metadata.json 
b/transform/data-mapping/metadata.json
index eb6cf13..a66f8e1 100644
--- a/transform/data-mapping/metadata.json
+++ b/transform/data-mapping/metadata.json
@@ -28,5 +28,5 @@
         "json",
         "transformation"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/transform/groovy/metadata.json b/transform/groovy/metadata.json
index 59cc525..94c3551 100644
--- a/transform/groovy/metadata.json
+++ b/transform/groovy/metadata.json
@@ -27,5 +27,5 @@
         "validation",
         "dependencies"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/transform/json-transform/metadata.json 
b/transform/json-transform/metadata.json
index a3540de..07c9264 100644
--- a/transform/json-transform/metadata.json
+++ b/transform/json-transform/metadata.json
@@ -27,5 +27,5 @@
         "jsonpath",
         "transformation"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/transform/xml-to-json/metadata.json 
b/transform/xml-to-json/metadata.json
index 98f5e86..5b44834 100644
--- a/transform/xml-to-json/metadata.json
+++ b/transform/xml-to-json/metadata.json
@@ -24,5 +24,5 @@
         "jackson",
         "transformation"
     ],
-    "bundled": false
+    "bundled": true
 }
diff --git a/transform/xslt/metadata.json b/transform/xslt/metadata.json
index 5b9dd84..960f61e 100644
--- a/transform/xslt/metadata.json
+++ b/transform/xslt/metadata.json
@@ -19,5 +19,5 @@
         "xslt",
         "transformation"
     ],
-    "bundled": false
+    "bundled": true
 }

Reply via email to