Home > database >  Eclipse feature patch with Maven Tycho build
Eclipse feature patch with Maven Tycho build

Time:03-02

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!

CodePudding user response:

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!

  • Related