Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow EPP packages to update installed features available from the Eclipse Platform SDK builds #133

Closed
merks opened this issue Apr 4, 2024 · 3 comments

Comments

@merks
Copy link
Contributor

merks commented Apr 4, 2024

With the short release cycles, and the Platform's light-weight milestones, it's increasingly problematic that EPP installations cannot update to a more recent build of the Platform that contains a fix to some problem. If there is a fix in the Platform, one must wait for an EPP milestone or release to be able to update to that release. E.g., this issue is a glaring recent reminder of how annoying that restriction can be:

eclipse-platform/eclipse.platform.ui#1674

The constraints can be relaxed by using installMode="root" in each *.product.

      <feature id="org.eclipse.platform" installMode="root"/>

To prevent the feature from being uninstalled, the feature.xml can specify a requirement with a very permissive range:

   <requires>
      <import feature="org.eclipse.platform" version="4.0.0" match="compatible"/>
   </requires>

I have tested creating such an installation, and it finds no updates initially.

image

until this site is added:

https://download.eclipse.org/eclipse/updates/4.32-I-builds/

and then updates are available:

image

And it's not possible to just uninstall the feature without warning

image

and even if you do that, it's not actually uninstalled

image

Also, the org.eclipse.platform feature includes these two things:

    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.group' range='[2.4.2300.v20240229-1022,2.4.2300.v20240229-1022]' optional='true'/>
    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.feature.group' range='[2.3.1700.v20240229-0520,2.3.1700.v20240229-0520]'/>

So products do not need to specify those redundantly.

merks added a commit to merks/packages that referenced this issue Apr 4, 2024
- Change all feature includes in products to be installMode="root".
- Add a requires/import to the corresponding product feature for each
such modified feature include.
- Remove all references to org.eclipse.equinox.p2.user.ui and
org.eclipse.help because these are included by org.eclipse.platform
anyway.
- Change any non-epp plug-in include in a feature to a requires/import
import, i.e., in the jee feature.xml.

eclipse-packaging#133
@jonahgraham
Copy link
Contributor

Great to solve this and identify that it is safe to make platform a root feature.

merks added a commit to merks/packages that referenced this issue Apr 5, 2024
- Change all feature includes in products to be installMode="root".
- Add a requires/import to the corresponding product feature, or common
feature, for each such modified feature include.
- Remove all references to org.eclipse.help because it is included by
org.eclipse.platform anyway.
- Change any non-epp plug-in include in a feature to a requires/import,
i.e., in the jee feature.xml.

eclipse-packaging#133
merks added a commit that referenced this issue Apr 5, 2024
- Change all feature includes in products to be installMode="root".
- Add a requires/import to the corresponding product feature, or common
feature, for each such modified feature include.
- Remove all references to org.eclipse.help because it is included by
org.eclipse.platform anyway.
- Change any non-epp plug-in include in a feature to a requires/import,
i.e., in the jee feature.xml.

#133
@merks
Copy link
Contributor Author

merks commented Apr 5, 2024

With the general changes here, no EPP feature or product IU locks in a specific version of any non-EPP IU. As such, in principle, any project, or even the staging repository, can directly provide updates to any of the EPP installations.

@merks merks closed this as completed Apr 5, 2024
@merks merks changed the title Allow EPP packages to update isntalled features available from the Eclipse Platform SDK builds Allow EPP packages to update installed features available from the Eclipse Platform SDK builds Apr 5, 2024
@merks
Copy link
Contributor Author

merks commented Apr 8, 2024

@jonahgraham

FYI, now that the EPP IUs don't lock in specific versions of non-EPP IUs, I have updated the product catalog generator to produce staging versions of the products:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants