This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch vendor in repository https://gitbox.apache.org/repos/asf/camel.git
commit 97895fc1feb6c251b955793abdef528ad61ba086 Author: Claus Ibsen <[email protected]> AuthorDate: Mon Mar 2 13:54:33 2026 +0100 CAMEL-23114: camel-jbang - camel version list - Add --vendor flag --- .../pages/jbang-commands/camel-jbang-version-list.adoc | 1 + .../META-INF/camel-jbang-commands-metadata.json | 2 +- .../dsl/jbang/core/commands/version/VersionList.java | 14 +++++++++++++- .../camel/dsl/jbang/core/model/VersionListDTO.java | 18 +++++++++++++++--- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc index 9d649637baea..42218ca2a229 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc @@ -36,6 +36,7 @@ camel version list [options] | `--tail` | The number of lines from the end of the table to show. | | int | `--to-date` | Filter by release date (exclusive) | | String | `--to-version` | Filter by Camel version (exclusive) | | String +| `--vendor` | Vendor of Apache Camel distribution to use when filtering versions | | String | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json index 5af741efc0b4..d2611e13d023 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json +++ b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json @@ -31,6 +31,6 @@ { "name": "trace", "fullName": "trace", "description": "Tail message traces from running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction", "options": [ { "names": "--action", "description": "Action to start, stop, clear, list status, or dump traces", "defaultValue": "status", "javaType": "java.lang.String", "type": "string" }, { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "b [...] { "name": "transform", "fullName": "transform", "description": "Transform message or Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.TransformCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "message", "fullName": "transform message", "description": "Transform message from one format to another via an existing running Camel integration", " [...] { "name": "update", "fullName": "update", "description": "Update Camel project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.update.UpdateCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "list", "fullName": "update list", "description": "List available update versions for Camel and its runtime variants", "sourceClass": "org.apache.camel.dsl.jbang.cor [...] - { "name": "version", "fullName": "version", "description": "Manage Camel versions", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "version get", "description": "Displays current Camel version", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionGet", [...] + { "name": "version", "fullName": "version", "description": "Manage Camel versions", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "version get", "description": "Displays current Camel version", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionGet", [...] ] } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java index 5669fa5fa90c..049b3017e9f4 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java @@ -110,6 +110,10 @@ public class VersionList extends CamelCommand { description = "Additional maven repositories (Use commas to separate multiple repositories)") public String repositories; + @CommandLine.Option(names = { "--vendor" }, + description = "Vendor of Apache Camel distribution to use when filtering versions") + public String vendor; + @CommandLine.Option(names = { "--lts" }, description = "Only show LTS supported releases", defaultValue = "false") public boolean lts; @@ -184,6 +188,8 @@ public class VersionList extends CamelCommand { rows, r -> r.runtimeVersion, (r, v) -> r.quarkusVersion = v); } + filterVendor(vendor, rows); + if (lts) { rows.removeIf(r -> !"lts".equalsIgnoreCase(r.kind)); } @@ -234,7 +240,7 @@ public class VersionList extends CamelCommand { rows.stream() .map(row -> new VersionListDTO( row.coreVersion, runtime.runtime(), row.runtimeVersion, - row.quarkusVersion, row.jdks, row.kind, + row.quarkusVersion, vendor, row.jdks, row.kind, row.releaseDate, row.eolDate)) .map(VersionListDTO::toMap) .collect(Collectors.toList()))); @@ -285,6 +291,12 @@ public class VersionList extends CamelCommand { return 0; } + private void filterVendor(String vendor, List<Row> rows) { + if (vendor != null && !vendor.isBlank()) { + rows.removeIf(r -> !r.coreVersion.contains(vendor)); + } + } + public static JsonObject updateCheckerFile(JsonObject root, String runtime, String repositories) { if (repositories == null) { repositories = ""; diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/VersionListDTO.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/VersionListDTO.java index e69965ff4c19..bd90e1474344 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/VersionListDTO.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/VersionListDTO.java @@ -26,6 +26,7 @@ public class VersionListDTO { private String runtime; private String runtimeVersion; private String quarkusVersion; + private String vendor; private String jdkVersion; private String kind; private String releaseDate; @@ -35,13 +36,13 @@ public class VersionListDTO { } public VersionListDTO(String camelVersion, String runtime, String runtimeVersion, String quarkusVersion, - String jdkVersion, String kind, - String releaseDate, - String eolDate) { + String vendor, String jdkVersion, String kind, + String releaseDate, String eolDate) { this.camelVersion = camelVersion; this.runtime = runtime; this.runtimeVersion = runtimeVersion; this.quarkusVersion = quarkusVersion; + this.vendor = vendor; this.jdkVersion = jdkVersion; this.kind = kind; this.releaseDate = releaseDate; @@ -80,6 +81,14 @@ public class VersionListDTO { this.quarkusVersion = quarkusVersion; } + public String getVendor() { + return vendor; + } + + public void setVendor(String vendor) { + this.vendor = vendor; + } + public String getJdkVersion() { return jdkVersion; } @@ -122,6 +131,9 @@ public class VersionListDTO { if (quarkusVersion != null) { jo.put("quarkusVersion", quarkusVersion); } + if (vendor != null) { + jo.put("vendor", vendor); + } if (jdkVersion != null) { jo.put("jdkVersion", jdkVersion); }
