You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since adopting Tycho 5.0.x, I notice a potential regression compared to Tycho 4.0.13 regarding bundle resolution even if target-platform-configuration plugin is configured with localArtifacts set to Default or Include.
In my application build according to the pipeline, some bundles can be already built then present in the local maven repo or not present and fetch from a p2 site declared in target platform stored in an Frog Artifactory Manager.
As you can see in following build traces, the build is in failure:
08:31:16 [INFO] ------------------------------------------------------------------------
08:31:16 [INFO] Reactor Summary for MyProduct 7.0.0-SNAPSHOT:
08:31:16 [INFO]
08:31:16 [INFO] MyProduct ......................................... SUCCESS [ 0.313 s]
08:31:16 [INFO] MyProduct :: T-Hmi ........................ SUCCESS [ 0.023 s]
08:31:16 [INFO] MyProduct :: T-Hmi :: HMI ................. SUCCESS [ 0.137 s]
08:31:16 [INFO] MyProduct :: T-Hmi :: HMI :: Project Feature SUCCESS [ 6.599 s]
08:31:16 [INFO] MyProduct :: T-Hmi :: HMI :: Product ...... FAILURE [ 0.118 s]
08:31:16 [INFO] ------------------------------------------------------------------------
08:31:16 [INFO] BUILD FAILURE
08:31:16 [INFO] ------------------------------------------------------------------------
08:31:16 [INFO] Total time: 11.613 s
08:31:16 [INFO] Finished at: 2025-11-26T08:31:16+01:00
08:31:16 [INFO] ------------------------------------------------------------------------
08:31:16 [ERROR] Cannot resolve dependencies of project hmi:hmi.product:eclipse-repository:7.0.0-SNAPSHOT
08:31:16 [ERROR] with context {osgi.os=linux, [osgi.ws](http://osgi.ws/)=gtk, org.eclipse.update.install.features=true, osgi.arch=x86_64, org.eclipse.update.install.sources=true}
08:31:16 [ERROR] Software being installed: WorkbenchApp 7.0.0.qualifier
08:31:16 [ERROR] Missing requirement: ui.rcp.minimal.feature.feature.group 21.0.0.165-20251126_072709 requires 'org.eclipse.equinox.p2.iu; time.services.feature.feature.group [21.0.0.1710-20251125_220953,21.0.0.1710-20251125_220953]' but it could not be found
08:31:16 [ERROR] Cannot satisfy dependency: WorkbenchApp 7.0.0.qualifier depends on: org.eclipse.equinox.p2.iu; tacticalplan.ui.workbench.feature.feature.group 0.0.0
08:31:16 [ERROR] Cannot satisfy dependency: ui.workbench.feature.feature.group 7.0.0.165-20251126_072709 depends on: org.eclipse.equinox.p2.iu; ui.rcp.feature.feature.group [7.0.0.165-20251126_072709,7.0.0.165-20251126_072709]
08:31:16 [ERROR] Cannot satisfy dependency: ui.rcp.feature.feature.group 7.0.0.165-20251126_072709 depends on: org.eclipse.equinox.p2.iu; ui.rcp.minimal.feature.feature.group [21.0.0.165-20251126_072709,21.0.0.165-20251126_072709]: See log for details
08:31:16 [ERROR] -> [Help 1]
08:31:16 [ERROR]
08:31:16 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
08:31:16 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
08:31:16 [ERROR]
08:31:16 [ERROR] For more information about the errors and possible solutions, please read the following articles:
08:31:16 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ResolverException
08:31:16 [ERROR]
08:31:16 [ERROR] After correcting the problems, you can resume the build with the command
08:31:16 [ERROR] mvn <args> -rf :hmi.product
The build is failing at product build assembly because the feature time.services.feature is lookup with number 21.0.0.1710-20251125_220953 that is not retrieved but the same feature exist in the local maven repo with number 21.0.0.165-20251126_072709 aka the build number of current application build given by Jenkins.
21.0.0.1710-20251125_220953 is the one available from the p2 site fetched from target platform.
I don't see why Tycho is considering the version from target platform because I set to use localArtifacts then it should use only 21.0.0.165-20251126_072709 that exists in the local repo.
Suddenly the failure has disappeared (nothing changed) because the builder number has now increased: I ran many times the build causing Jenkins to increment build number.
Local artefact build number is now 21.0.0.180-XXXX vs target platform one which is 21.0.0.1750-XXXX
I'm wondering how Tycho resolve bundles between local repo vs target platform ?
Is it based on bundle version number String comparison that could explain the choice between 21.0.0.165.XXX compare to 21.0.0.1710.XXX that fails and 21.0.0.180-XXXX compare to 21.0.0.1710-XXXX ?
"21.0.0.165.XXX".compareTo("21.0.0.1710.XXX"); returns -1 then Tycho selects the greatest number (string comparison) leading to the error.
"21.0.0.180.XXX".compareTo("21.0.0.1710.XXX"); returns 1 then Tycho selects the greatest number (string comparison) which the version available in the local repo then it runs OK.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Hello,
Since adopting Tycho 5.0.x, I notice a potential regression compared to Tycho 4.0.13 regarding bundle resolution even if target-platform-configuration plugin is configured with localArtifacts set to Default or Include.
In my application build according to the pipeline, some bundles can be already built then present in the local maven repo or not present and fetch from a p2 site declared in target platform stored in an Frog Artifactory Manager.
As you can see in following build traces, the build is in failure:
The build is failing at product build assembly because the feature time.services.feature is lookup with number 21.0.0.1710-20251125_220953 that is not retrieved but the same feature exist in the local maven repo with number 21.0.0.165-20251126_072709 aka the build number of current application build given by Jenkins.
21.0.0.1710-20251125_220953 is the one available from the p2 site fetched from target platform.
I don't see why Tycho is considering the version from target platform because I set to use localArtifacts then it should use only 21.0.0.165-20251126_072709 that exists in the local repo.
Suddenly the failure has disappeared (nothing changed) because the builder number has now increased: I ran many times the build causing Jenkins to increment build number.
Local artefact build number is now 21.0.0.180-XXXX vs target platform one which is 21.0.0.1750-XXXX
I'm wondering how Tycho resolve bundles between local repo vs target platform ?
Is it based on bundle version number String comparison that could explain the choice between 21.0.0.165.XXX compare to 21.0.0.1710.XXX that fails and 21.0.0.180-XXXX compare to 21.0.0.1710-XXXX ?
"21.0.0.165.XXX".compareTo("21.0.0.1710.XXX"); returns -1 then Tycho selects the greatest number (string comparison) leading to the error.
"21.0.0.180.XXX".compareTo("21.0.0.1710.XXX"); returns 1 then Tycho selects the greatest number (string comparison) which the version available in the local repo then it runs OK.
Thank you very much in advance for your support.
Regards,
Stéphane
All reactions