This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch CAMEL-23595-citrus-metadata in repository https://gitbox.apache.org/repos/asf/camel-jbang-examples.git
commit 303c48337b35c4ca8996eeec44e380aa86a86f3a Author: Claus Ibsen <[email protected]> AuthorDate: Thu May 21 12:03:04 2026 +0200 CAMEL-23595: Add hasCitrusTests metadata to example catalog Co-Authored-By: Claude Opus 4.6 <[email protected]> --- camel-jbang-example-catalog.json | 21 +++++++++++++++++++++ generate-catalog.sh | 15 +++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/camel-jbang-example-catalog.json b/camel-jbang-example-catalog.json index cdd5c70..a45a48e 100644 --- a/camel-jbang-example-catalog.json +++ b/camel-jbang-example-catalog.json @@ -11,6 +11,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -32,6 +33,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": true, "files": [ "README.adoc", "application.properties", @@ -54,6 +56,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": true, "files": [ "README.adoc", "application.properties", @@ -71,6 +74,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "route.camel.yaml" @@ -89,6 +93,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "cron-log.camel.yaml" @@ -107,6 +112,7 @@ ], "bundled": false, "requiresDocker": true, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -128,6 +134,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -150,6 +157,7 @@ ], "bundled": false, "requiresDocker": true, + "hasCitrusTests": true, "files": [ "README.adoc", "application.properties", @@ -170,6 +178,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -189,6 +198,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -208,6 +218,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -226,6 +237,7 @@ ], "bundled": false, "requiresDocker": true, + "hasCitrusTests": true, "files": [ "README.adoc", "application.properties", @@ -248,6 +260,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -267,6 +280,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": true, "files": [ "README.adoc", "application.properties", @@ -287,6 +301,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": true, "files": [ "README.adoc", "application.properties", @@ -307,6 +322,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "rest-api.camel.yaml" @@ -324,6 +340,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "Greeter.java", "README.adoc", @@ -344,6 +361,7 @@ ], "bundled": false, "requiresDocker": false, + "hasCitrusTests": true, "files": [ "README.adoc", "analyzer/application-dev.properties", @@ -390,6 +408,7 @@ ], "bundled": false, "requiresDocker": true, + "hasCitrusTests": false, "files": [ "README.adoc", "application.properties", @@ -409,6 +428,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "timer-log.camel.yaml" @@ -426,6 +446,7 @@ ], "bundled": true, "requiresDocker": false, + "hasCitrusTests": false, "files": [ "README.adoc", "consumer.camel.yaml", diff --git a/generate-catalog.sh b/generate-catalog.sh index 61f248e..7bb591b 100755 --- a/generate-catalog.sh +++ b/generate-catalog.sh @@ -86,6 +86,20 @@ for dirpath, dirnames, filenames in sorted(os.walk(repo_root)): requires_docker = "compose.yaml" in filenames or "docker-compose.yaml" in filenames + # detect Citrus integration tests (also in sub-directories without own metadata) + has_citrus_tests = False + for sub_dirpath2, sub_dirnames2, sub_filenames2 in os.walk(dirpath): + sub_dirnames2[:] = [ + d for d in sub_dirnames2 + if not d.startswith(".") and d not in {"target", "node_modules"} + and not os.path.exists(os.path.join(sub_dirpath2, d, "metadata.json")) + ] + if os.path.basename(sub_dirpath2) == "test": + if any(f.endswith(".citrus.it.yaml") or f.endswith(".citrus.it.xml") + for f in sub_filenames2): + has_citrus_tests = True + break + entry = { "name": name, "title": meta["title"], @@ -94,6 +108,7 @@ for dirpath, dirnames, filenames in sorted(os.walk(repo_root)): "tags": meta.get("tags", []), "bundled": meta.get("bundled", False), "requiresDocker": requires_docker, + "hasCitrusTests": has_citrus_tests, "files": files, } catalog.append(entry)
