[
https://issues.apache.org/jira/browse/CAMEL-24799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luigi De Masi updated CAMEL-24799:
----------------------------------
Description:
Installing Camel Kit using its command name accepts {{{}--version{}}}, but
saves an incomplete plugin registration. Loading the plugin then attempts to
resolve an artifact
using the default Apache Camel group and the running Camel version.
The Camel shell also suggests {{{}plugin add kit{}}}, making this an advertised
installation path.
h3. Steps to reproduce
Using Camel JBang 4.22.0:
{code:bash}
camel plugin add kit --version=0.4.0
camel kit --help
{code}
h3. Actual result
The saved {{kit}} entry contains {{"firstVersion": "0.4.0"}} but no
{{{}dependency{}}}. Loading attempts to resolve:
{code:java}
org.apache.camel:camel-jbang-plugin-kit:4.22.0
{code}
This fails because those coordinates do not exist.
h3. Expected result
The registration should preserve the requested plugin version and resolve:
{code:java}
io.github.luigidemasi:camel-jbang-plugin-kit:0.4.0
{code}
h3. Investigation
The [bundled
registry|https://github.com/apache/camel/blob/camel-4.22.0/dsl/camel-jbang/camel-jbang-core/src/main/resources/known-plugins.json]
defines {{"name": "camel-
kit"}} and {{{}"command": "kit"{}}}, but {{findKnownPlugin()}} matches only
{{{}name{}}}.
Consequently, {{kit}} is treated as an unknown plugin. Its {{artifactId}}
remains unset, so {{PluginAdd}} does not construct or persist dependency
coordinates. Plugin
loading subsequently falls back to {{org.apache.camel}} and the running Camel
version.
The registry also contains an incorrect artifact ID,
{{{}camel-kit-jbang-plugin{}}}, which should be {{{}camel-jbang-plugin-kit{}}}.
This is a separate metadata inconsistency,
not the direct cause of the failed name lookup.
h3. Suggested fix
* Recognize {{kit}} while dropping support for the existing {{camel-kit}} name.
* Correct the registry's artifact ID.
* Add regression coverage verifying that registration persists the correct GAV
and honors {{{}--version{}}}.
h3. Workaround
{code:bash}
camel plugin add kit \
--gav=io.github.luigidemasi:camel-jbang-plugin-kit:0.4.0 \
--description="Design Apache Camel Integrations with AI"{code}
was:
Installing Camel Kit using its command name accepts {{{}--version{}}}, but
saves an incomplete plugin registration. Loading the plugin then attempts to
resolve an artifact
using the default Apache Camel group and the running Camel version.
The Camel shell also suggests {{{}plugin add kit{}}}, making this an advertised
installation path.
h3. Steps to reproduce
Using Camel JBang 4.22.0:
{code:bash}
camel plugin add kit --version=0.4.0
camel kit --help
{code}
h3. Actual result
The saved {{kit}} entry contains {{"firstVersion": "0.4.0"}} but no
{{{}dependency{}}}. Loading attempts to resolve:
{code:java}
org.apache.camel:camel-jbang-plugin-kit:4.22.0
{code}
This fails because those coordinates do not exist.
h3. Expected result
The registration should preserve the requested plugin version and resolve:
{code:java}
io.github.luigidemasi:camel-jbang-plugin-kit:0.4.0
{code}
h3. Investigation
The [bundled
registry|https://github.com/apache/camel/blob/camel-4.22.0/dsl/camel-jbang/camel-jbang-core/src/main/resources/known-plugins.json]
defines {{"name": "camel-
kit"}} and {{{}"command": "kit"{}}}, but {{findKnownPlugin()}} matches only
{{{}name{}}}.
Consequently, {{kit}} is treated as an unknown plugin. Its {{artifactId}}
remains unset, so {{PluginAdd}} does not construct or persist dependency
coordinates. Plugin
loading subsequently falls back to {{org.apache.camel}} and the running Camel
version.
The registry also contains an incorrect artifact ID,
{{{}camel-kit-jbang-plugin{}}}, which should be {{{}camel-jbang-plugin-kit{}}}.
This is a separate metadata inconsistency,
not the direct cause of the failed name lookup.
h3. Suggested fix
* Recognize {{kit}} while preserving support for the existing {{camel-kit}}
name.
* Correct the registry's artifact ID.
* Add regression coverage verifying that registration persists the correct GAV
and honors {{{}--version{}}}.
h3. Workaround
{code:bash}
camel plugin add kit \
--gav=io.github.luigidemasi:camel-jbang-plugin-kit:0.4.0 \
--description="Design Apache Camel Integrations with AI"{code}
> camel-jbang: Installing Camel Kit by command name loses the requested plugin
> version
> -------------------------------------------------------------------------------------
>
> Key: CAMEL-24799
> URL: https://issues.apache.org/jira/browse/CAMEL-24799
> Project: Camel
> Issue Type: Bug
> Components: camel-jbang
> Affects Versions: 4.22.0
> Reporter: Luigi De Masi
> Assignee: Luigi De Masi
> Priority: Major
>
> Installing Camel Kit using its command name accepts {{{}--version{}}}, but
> saves an incomplete plugin registration. Loading the plugin then attempts to
> resolve an artifact
> using the default Apache Camel group and the running Camel version.
> The Camel shell also suggests {{{}plugin add kit{}}}, making this an
> advertised installation path.
> h3. Steps to reproduce
> Using Camel JBang 4.22.0:
> {code:bash}
> camel plugin add kit --version=0.4.0
> camel kit --help
> {code}
> h3. Actual result
> The saved {{kit}} entry contains {{"firstVersion": "0.4.0"}} but no
> {{{}dependency{}}}. Loading attempts to resolve:
> {code:java}
> org.apache.camel:camel-jbang-plugin-kit:4.22.0
> {code}
> This fails because those coordinates do not exist.
> h3. Expected result
> The registration should preserve the requested plugin version and resolve:
> {code:java}
> io.github.luigidemasi:camel-jbang-plugin-kit:0.4.0
> {code}
> h3. Investigation
> The [bundled
> registry|https://github.com/apache/camel/blob/camel-4.22.0/dsl/camel-jbang/camel-jbang-core/src/main/resources/known-plugins.json]
> defines {{"name": "camel-
> kit"}} and {{{}"command": "kit"{}}}, but {{findKnownPlugin()}} matches only
> {{{}name{}}}.
> Consequently, {{kit}} is treated as an unknown plugin. Its {{artifactId}}
> remains unset, so {{PluginAdd}} does not construct or persist dependency
> coordinates. Plugin
> loading subsequently falls back to {{org.apache.camel}} and the running Camel
> version.
> The registry also contains an incorrect artifact ID,
> {{{}camel-kit-jbang-plugin{}}}, which should be
> {{{}camel-jbang-plugin-kit{}}}. This is a separate metadata inconsistency,
> not the direct cause of the failed name lookup.
> h3. Suggested fix
> * Recognize {{kit}} while dropping support for the existing {{camel-kit}}
> name.
> * Correct the registry's artifact ID.
> * Add regression coverage verifying that registration persists the correct
> GAV and honors {{{}--version{}}}.
> h3. Workaround
> {code:bash}
> camel plugin add kit \
> --gav=io.github.luigidemasi:camel-jbang-plugin-kit:0.4.0 \
> --description="Design Apache Camel Integrations with AI"{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)