Federico Mariani created CAMEL-26345:
----------------------------------------
Summary: camel-jbang - Web installers: support LTS and X.Y
release-line selectors, followed by self-update
Key: CAMEL-26345
URL: https://issues.apache.org/jira/browse/CAMEL-26345
Project: Camel
Issue Type: Improvement
Components: camel-jbang
Reporter: Federico Mariani
h3. Problem
The web installers ({{install.sh}}, {{install.ps1}}) accept only exact
{{X.Y.Z}} versions. Users cannot ask for the latest LTS, or the latest patch of
a release line, with a stable command. Documentation therefore has to change
with every patch. Today {{latest.properties}} selects 4.23.0 while the current
LTS is 4.22.2, and community plugins such as Forage may not support the latest
release yet.
h3. Acceptance criteria
* {{install.sh}} accepts {{--version LTS}}, {{--version X.Y}} and exact
{{X.Y.Z}}. {{install.ps1}} accepts the same values for {{-Version}}.
* Resolve selectors through {{lts.properties}} or {{X.Y.properties}}, published
by camel-website. For {{X.Y}}, reject a manifest whose version is outside the
line. Resolve once, then run the existing checksum validation and staged
activation for the exact resolved version.
* Write the selector to {{pinned-version}}, not the resolved version. {{camel
self-update}} then:
** for an {{X.Y.Z}} pin, refuses to move, as today
** for an {{X.Y}} pin, moves to the newest patch of that line
** for an {{LTS}} pin, moves to the newest LTS release
* Keep existing pin files containing {{X.Y.Z}} working unchanged.
* No-argument installation and {{camel self-update}} behave exactly as today.
* Leave the existing installation untouched if resolution or verification
fails. Reject malformed selectors. Report a missing alias clearly.
* Test POSIX/PowerShell parity, selector resolution, self-update within a
selector, mismatched manifests and failure preservation.
Relevant paths: {{dsl/camel-jbang/camel-launcher/src/install/}},
{{SelfUpdateCommand.java}}, {{InstallDetector.java}},
{{src/jreleaser/java/WebsiteManifestGenerator.java}}.
Depends on the camel-website alias generation ({{lts.properties}},
{{X.Y.properties}}): WEBSITE_ISSUE.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)