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)

Reply via email to