Issue
I'm currently developing an Eclipse RCP application, built with Maven v3.8.4 and Tycho v2.6.0.
Everything works as expected, except a feature patch that patches the original Eclipse feature org.eclipse.platform
.
This is feature xml:
<feature
id="com.eclipse.platform.patch"
label="MAS Eclipse Platform Patch"
version="0.0.1.qualifier"
provider-name="MAS">
<requires>
<import feature="org.eclipse.platform" version="4.22.0.v20211124-1800" patch="true"/>
</requires>
<plugin
id="org.eclipse.ui.navigator"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.ide"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ltk.ui.refactoring"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.navigator.resources"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>
I have to set the version of the included plugins to something "newer" than the original, like described in Eclipse feature patch doesn't patch plugins.
BUT, with these newer versions, the tycho build fails.
For example the org.eclipse.ui.navigator
original version is 3.10.200.v20211009-1706
. I set it to 3.10.201.qualifier
in the MANIFEST.MF and to 3.10.201-SNAPSHOT
in the pom.xml.
And tycho complains about not find the 3.10.200.v20211009-1706
dependency:
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: mas.product 0.3.0.qualifier
[ERROR] Missing requirement: org.eclipse.platform.feature.group 4.22.0.v20211124-1800 requires 'org.eclipse.equinox.p2.iu; org.eclipse.ui.navigator [3.10.200.v20211009-1706,3.10.200.v20211009-1706]' but it could not be found
[ERROR] Cannot satisfy dependency: mas.product 0.3.0.qualifier depends on: org.eclipse.equinox.p2.iu; org.eclipse.platform.feature.group 0.0.0
I believe this must be something related to this bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=389698 am I right?
Any solutions or even workaround? Thankyou!
Solution
OK, in my case at least, upgrading to tycho v0.2.7 fix the problem. Now the build gives some warnings about the dependencies:
[INFO] --- tycho-p2-repository-plugin:2.7.0:assemble-repository (default-assemble-repository) @ com.marchesini.mas.app.releng.product ---
[WARNING] Following dependencies were not found by the slicer (you can disregard this if it is intentional):
Unable to satisfy dependency from org.eclipse.platform.feature.group 4.22.0.v20211124-1800 to org.eclipse.equinox.p2.iu; org.eclipse.ltk.ui.refactoring [3.12.0.v20210618-1953,3.12.0.v20210618-1953].
Unable to satisfy dependency from org.eclipse.platform.feature.group 4.22.0.v20211124-1800 to org.eclipse.equinox.p2.iu; org.eclipse.ui.navigator [3.10.200.v20211009-1706,3.10.200.v20211009-1706].
Unable to satisfy dependency from org.eclipse.platform.feature.group 4.22.0.v20211124-1800 to org.eclipse.equinox.p2.iu; org.eclipse.ui.navigator.resources [3.8.300.v20210914-2004,3.8.300.v20210914-2004].
Unable to satisfy dependency from org.eclipse.platform.feature.group 4.22.0.v20211124-1800 to org.eclipse.equinox.p2.iu; org.eclipse.ui.ide [3.18.400.v20211026-0701,3.18.400.v20211026-0701].
but at least it doesn't fail!
Answered By - Gionata
Answer Checked By - Dawn Plyler (JavaFixing Volunteer)