[
https://issues.apache.org/jira/browse/CAMEL-23190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-23190 started by Luigi De Masi.
---------------------------------------------
> [camel-jbang-mcp] DefaultCamelCatalog.getCatalogVersion() ignores
> VersionManager and returns compiled-in version
> ----------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-23190
> URL: https://issues.apache.org/jira/browse/CAMEL-23190
> Project: Camel
> Issue Type: Bug
> Affects Versions: 4.18.0
> Reporter: Luigi De Masi
> Assignee: Luigi De Masi
> Priority: Major
>
> When a different catalog version is loaded via a custom VersionManager (e.g.
> DownloadCatalogVersionManager or MavenVersionManager), getCatalogVersion()
> still returns the compiled-in version from pom.properties instead of the
> loaded version.
> Root cause is a circular dependency:
> * DefaultCamelCatalog.getCatalogVersion() reads from VersionHelper, which
> resolves pom.properties via getClass().getResourceAsStream()
> * DefaultVersionManager.getLoadedVersion() delegates back to
> camelCatalog.getCatalogVersion()
> * getCatalogVersion() never consults the VersionManager
> In an uber-jar (e.g. camel-jbang-mcp), the classloader resolves
> pom.properties from the uber-jar itself, so getCatalogVersion() always
> returns the build-time version (e.g. 4.19.0-SNAPSHOT) even after downloading
> camel-catalog:4.10.0.
> we need to break the circular dependency by having DefaultVersionManager use
> VersionHelper directly, then delegate getCatalogVersion() to
> versionManager.getLoadedVersion().
--
This message was sent by Atlassian Jira
(v8.20.10#820010)