[
https://issues.apache.org/jira/browse/CAMEL-24483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-24483 started by Claus Ibsen.
-------------------------------------------
> camel-jbang export: explicit --dep version is ignored for auto-detected
> dependencies
> ------------------------------------------------------------------------------------
>
> Key: CAMEL-24483
> URL: https://issues.apache.org/jira/browse/CAMEL-24483
> Project: Camel
> Issue Type: Bug
> Components: camel-jbang
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
>
> h3. Problem
> When running {{camel export}} on a project containing a bean that Camel
> auto-detects a dependency for (e.g. a Postgres {{BasicDataSource}} whose
> {{driverClassName}} is {{org.postgresql.Driver}}), Camel adds
> {{org.postgresql:postgresql}} to the generated {{pom.xml}} using the version
> inferred from the {{camel-dependencies}} BOM.
> Passing {{--dep=org.postgresql:postgresql:<version>}} to override that
> version has no effect - the generated POM keeps the auto-detected version and
> the user's explicit version is silently dropped.
> h3. Root cause
> In {{ExportBaseCommand.resolveDependencies()}} the dependencies are collected
> into a {{TreeSet}} and then de-duplicated by {{groupId:artifactId}} only,
> keeping the *first* entry in the set's sorted order (ignoring the version).
> Auto-detected dependencies are recorded with an {{mvn:}} prefix (written by
> {{Run.RunDownloadListener.onDownloadDependency}}) while a plain
> {{--dep=group:artifact:version}} is not, so the {{mvn:}}-prefixed
> auto-detected entry always sorts first and wins. There is no precedence given
> to a user-supplied {{--dep}}.
> Using {{--dep=mvn:org.postgresql:postgresql:<version>}} does not reliably
> help either, since the dedup then falls back to lexicographic comparison of
> the version strings.
> h3. Fix
> Make an explicit {{--dep}} version (one that carries a version) take
> precedence over an auto-detected dependency for the same
> {{groupId:artifactId}} during de-duplication.
> h3. Workaround
> Manually edit the generated {{pom.xml}} and set the desired driver version.
> ----
> _Reported via the Camel community (Marat Gubaidullin). Analysis and fix
> drafted by Claude Code on behalf of Claus Ibsen (davsclaus)._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)