[
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