This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new a855657cf5d9 camel-jbang - Fix version list
a855657cf5d9 is described below
commit a855657cf5d9043c7756cbdf45e6dd01c6fdb081
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Feb 2 11:00:30 2026 +0100
camel-jbang - Fix version list
---
.../camel/catalog/releases/camel-releases.json | 2 +-
.../org/apache/camel/catalog/CamelCatalogTest.java | 6 +
.../jbang/core/commands/version/VersionList.java | 132 ++++++++++-----------
3 files changed, 73 insertions(+), 67 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
index 388b5090454e..e8659013e5ca 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
@@ -1672,7 +1672,7 @@
},
{
"version": "4.17.0",
- "date": "2025-11-05",
+ "date": "2026-01-12",
"jdk": "17,21"
},
{
diff --git
a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index d7ea80f3c146..8a1a207b84b6 100644
---
a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++
b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -1641,6 +1641,12 @@ public class CamelCatalogTest {
Assertions.assertEquals("2023-01-07", rel.getDate());
Assertions.assertEquals("2023-12-21", rel.getEol());
Assertions.assertEquals("lts", rel.getKind());
+
+ rel = list.get(0);
+ Assertions.assertEquals("1.0.0", rel.getVersion());
+ Assertions.assertEquals("2007-07-02", rel.getDate());
+ Assertions.assertEquals("legacy", rel.getKind());
+ Assertions.assertEquals("1.5", rel.getJdk());
}
@Test
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 e5a60eee2523..813b2dbd1b89 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
@@ -377,83 +377,83 @@ public class VersionList extends CamelCommand {
}
private void filterVersions(List<String[]> versions, List<Row> rows,
List<ReleaseModel> releases) throws Exception {
- if (versions.isEmpty()) {
- for (ReleaseModel rm : releases) {
- boolean accept = true;
- if (fromVersion != null || toVersion != null) {
- if (fromVersion == null) {
- fromVersion = "1.0";
- }
- if (toVersion == null) {
- toVersion = "99.0";
- }
- accept = VersionHelper.isBetween(rm.getVersion(),
fromVersion, toVersion);
+ for (String[] v : versions) {
+ Row row = new Row();
+ row.coreVersion = v[0];
+ row.runtimeVersion = v[1];
+
+ // enrich with details from catalog (if we can find any)
+ String catalogVersion = RuntimeType.quarkus == runtime ? v[1] :
v[0];
+ ReleaseModel rm = releases.stream().filter(r ->
catalogVersion.equals(r.getVersion())).findFirst().orElse(null);
+ if (download && rm == null) {
+ // unknown release but if it's an Apache Camel release we can
grab from online
+ int dots = StringHelper.countChar(v[0], '.');
+ if (dots == 2) {
+ rm = onlineRelease(runtime, row.coreVersion);
}
- if (accept && fromDate != null || toDate != null) {
- if (fromDate == null) {
- fromDate = "2000-01-01";
- }
- if (toDate == null) {
- toDate = "9999-01-01";
- }
- accept = rm.getDate() == null ||
isDateBetween(rm.getDate(), fromDate, toDate);
+ }
+ if (rm != null) {
+ row.releaseDate = rm.getDate();
+ row.daysSince = daysSince(rm.getDate());
+ row.eolDate = rm.getEol();
+ row.jdks = rm.getJdk();
+ row.kind = rm.getKind();
+ }
+ boolean accept = true;
+ if (fromVersion != null || toVersion != null) {
+ if (fromVersion == null) {
+ fromVersion = "1.0";
}
- if (accept) {
- Row row = new Row();
- rows.add(row);
- row.coreVersion = rm.getVersion();
- row.releaseDate = rm.getDate();
- row.daysSince = daysSince(rm.getDate());
- row.eolDate = rm.getEol();
- row.jdks = rm.getJdk();
- row.kind = rm.getKind();
+ if (toVersion == null) {
+ toVersion = "99.0";
}
+ accept = VersionHelper.isBetween(row.coreVersion, fromVersion,
toVersion);
}
- } else {
- for (String[] v : versions) {
- Row row = new Row();
- row.coreVersion = v[0];
- row.runtimeVersion = v[1];
-
- // enrich with details from catalog (if we can find any)
- String catalogVersion = RuntimeType.quarkus == runtime ? v[1]
: v[0];
- ReleaseModel rm = releases.stream().filter(r ->
catalogVersion.equals(r.getVersion())).findFirst().orElse(null);
- if (download && rm == null) {
- // unknown release but if it's an Apache Camel release we
can grab from online
- int dots = StringHelper.countChar(v[0], '.');
- if (dots == 2) {
- rm = onlineRelease(runtime, row.coreVersion);
- }
+ if (accept && fromDate != null || toDate != null) {
+ if (fromDate == null) {
+ fromDate = "2000-01-01";
+ }
+ if (toDate == null) {
+ toDate = "9999-01-01";
}
- if (rm != null) {
+ accept = row.releaseDate == null ||
isDateBetween(row.releaseDate, fromDate, toDate);
+ }
+ if (accept) {
+ rows.add(row);
+ }
+ }
+ for (ReleaseModel rm : releases) {
+ boolean accept = true;
+ if (fromVersion != null || toVersion != null) {
+ if (fromVersion == null) {
+ fromVersion = "1.0";
+ }
+ if (toVersion == null) {
+ toVersion = "99.0";
+ }
+ accept = VersionHelper.isBetween(rm.getVersion(), fromVersion,
toVersion);
+ }
+ if (accept && fromDate != null || toDate != null) {
+ if (fromDate == null) {
+ fromDate = "2000-01-01";
+ }
+ if (toDate == null) {
+ toDate = "9999-01-01";
+ }
+ accept = rm.getDate() == null || isDateBetween(rm.getDate(),
fromDate, toDate);
+ }
+ if (accept) {
+ // only add if this is a new fresh release
+ if (rows.stream().filter(r ->
r.coreVersion.equals(rm.getVersion())).findAny().isEmpty()) {
+ Row row = new Row();
+ rows.add(row);
+ row.coreVersion = rm.getVersion();
row.releaseDate = rm.getDate();
row.daysSince = daysSince(rm.getDate());
row.eolDate = rm.getEol();
row.jdks = rm.getJdk();
row.kind = rm.getKind();
}
- boolean accept = true;
- if (fromVersion != null || toVersion != null) {
- if (fromVersion == null) {
- fromVersion = "1.0";
- }
- if (toVersion == null) {
- toVersion = "99.0";
- }
- accept = VersionHelper.isBetween(row.coreVersion,
fromVersion, toVersion);
- }
- if (accept && fromDate != null || toDate != null) {
- if (fromDate == null) {
- fromDate = "2000-01-01";
- }
- if (toDate == null) {
- toDate = "9999-01-01";
- }
- accept = row.releaseDate == null ||
isDateBetween(row.releaseDate, fromDate, toDate);
- }
- if (accept) {
- rows.add(row);
- }
}
}
}