[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [tycho-dev] Regression(?) when moving to Tycho 4.0.0: "considered" POM dependencies no longer transitive
 | 
Please note that Tycho has moved to github for issues and discussions:
https://github.com/eclipse-tycho/tycho/issues
https://github.com/eclipse-tycho/tycho/discussions
Beside that the documentation says:
https://tycho.eclipseprojects.io/doc/latest/target-platform-configuration/target-platform-configuration-mojo.html#pomDependencies
Tycho always attempts to resolve transitive dependencies, so if you 
need a POM dependency in the target platform of one module, you will 
also need it in all downstream modules. Therefore the POM dependencies 
(and the pomDependencies=consider configuration) typically need to be 
added in the parent POM.
So to summarize, all pom dependencies must be available in all modules 
and are not pulled from possibly required bundles necessarily.
Am 10.07.23 um 17:26 schrieb Andreas Sewe via tycho-dev:
Hi all,
I am currently trying to upgrade to Tycho 4.0.0 (from 3.0.5) and noticed 
the following change in behaviour when using pomDependencies=consider:
- My eclipse-plugin project org.example.plugin has POM <dependency> on 
org.example.library to satisfy some Import-Package.
- My eclipse-feature project org.example.feature simply has a <plugin> 
dependency on org.example.plugin in its feature.xml.
This results in the following error with Tycho 4.0.0:
[ERROR]   Software being installed: org.example.feature.feature.group 
0.0.1.qualifier
[ERROR]   Missing requirement: org.example.plugin 0.0.1.qualifier 
requires 'java.package; org.example.library [1.0.0,2.0.0)' but it 
could not be found
[ERROR]   Cannot satisfy dependency: org.example.feature.feature.group 
0.0.1.qualifier depends on: org.eclipse.equinox.p2.iu; 
org.example.plugin 0.0.0
With Tycho 3.0.5, this does not happen.
As a workaround, I can add the POM <dependency> on org.example.library 
also to my org.example.feature project, but this feels wrong: The 
feature does *not* itself depend on the library, only the plugin does.
I hence wonder whether this change in behaviour is really intentional or 
rather a regression.
(FWIW, this happens with both -Dtycho.resolver.classic=true and false; 
as expected, the former fails eagerly, whereas the latter only fails 
when org.example.feature is built.)
Best wishes,
Andreas