Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 322959

Summary: Use feature requirements instead of includes for platform bundles
Product: z_Archived Reporter: Thomas Hallgren <thomas>
Component: BuckminsterAssignee: buckminster.core-inbox <buckminster.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: andrew.eisenberg
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Thomas Hallgren CLA 2010-08-17 17:19:13 EDT
Many of our headless features include bundles form the Eclipse platform. This is because the platform doesn't deliver any headless features. In some cases, as with the groovy support, this leads to problems because they deliver other versions of the platform specific bundles.

In order to avoid conflict, it would be better if our features expressed the dependencies to the platform bundles as requirements instead of includes. Semantically, that means that we don't package those bundles but p2 will install them anyway. A possible drawback is that since there's no actual feature that appoints the bundles, they will not be uninstalled unless explicitly uninstalled on a per bundle basis. Downgrades of those bundles will not be possible either unless the requirements are such that p2 is forced to downgrade.

All in all, I think these drawbacks are very minor. Especially in a headless scenario.
Comment 1 Thomas Hallgren CLA 2010-08-18 02:27:53 EDT
A first stumbleblock. One reason for not using feature requirements earlier has been that they didn't support filters. Knowing that bug 293715 should have fixed this, I tried using it. That resulted in bug 322975. I guess this can be circumvented by using advice in a p2.inf file.
Comment 2 Thomas Hallgren CLA 2010-08-20 03:43:46 EDT
All feature includes of platform bundles are now transformed into feature requirements without any specific version constraint. That means that all version constraints for such bundles falls back to the ranges expressed in the actual bundle requirements.

The fix was released to the helios-maintenance branch, rev 11564, and has been published to our update sites.