Bug 577292

Summary: Add fitting Capability to org.eclipse.e4.ui.workbench
Product: [Eclipse Project] Platform Reporter: Jürgen Albert <j.albert>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: 4.23   
Target Milestone: ---   
Hardware: PC   
OS: Windows 10   
Whiteboard:

Description Jürgen Albert CLA 2021-11-16 13:25:27 EST
If a bundle provides a contribution to the UI in form of a e4xmi it can provide it via an Extensionpoint or lately via the Model-Fragment Header in the Manifest. 

If I take a Bundle that uses one way or the other , and throw it to the resolver I will not get a useful result. E.g. the Bundle that falls out of the default example E4 Tutorial Application only resolves with a lonely swt bundle. It thus would be great, if org.eclipse.e4.ui.workbench could provide a Capability that states that it is the receiver of such an extension, similar to the osgi.component extender capability.

With this a Requirement can be added manually or later on by existing tooling around it. This would over time help to improve the resolvability of UI Bundles.

Naming is always hard but an example could look as follows:

MANIFEST.MF entry for org.eclipse.e4.ui.workbench:
Provide-Capability: 
 eclipse.e4;
  eclipse.e4="workbench"

MANIFEST.MF entry for a UI Bundle:
Require-Capability: eclipse.e4;
  filter:="(eclipse.e4=workbench)"

Obviously there need to be more things to be consider, like picking a correct namespace, do we want versions, do we need uses etc. This is just meant as a discussion starter.

We further more can also provide a Require Annotation, that allows tooling that supports it to autogenerate the Require entry.