Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 323427 - [RFC 154] Support for generic capabilities and requirements
Summary: [RFC 154] Support for generic capabilities and requirements
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: 3.7   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.7 M2   Edit
Assignee: Thomas Watson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 289124
  Show dependency tree
 
Reported: 2010-08-23 14:36 EDT by Thomas Watson CLA
Modified: 2011-01-10 13:09 EST (History)
2 users (show)

See Also:


Attachments
patch + tests (64.18 KB, patch)
2010-08-25 17:42 EDT, Thomas Watson CLA
no flags Details | Diff
restructure fragment capabilities (79.44 KB, patch)
2010-08-27 16:52 EDT, Thomas Watson CLA
no flags Details | Diff
restructure fragment capabilities + tests (90.42 KB, patch)
2010-08-27 17:46 EDT, Thomas Watson CLA
no flags Details | Diff
patch + test for uses and directives on capabilities (75.60 KB, patch)
2010-09-10 17:04 EDT, Thomas Watson CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Watson CLA 2010-08-23 14:36:07 EDT
Similar, but not quite identical to the Eclipse-GenericCapability and Eclipse-GenericRequire headers, RFC 154 introduces new headers to allow bundles to declare generic capabilities and requirements.
Comment 1 Thomas Watson CLA 2010-08-23 14:37:37 EDT
Targeting M2.  I am hoping to map this onto the existing Eclipse headers in such a way that the resolve treats both meta-data the same.
Comment 2 Thomas Watson CLA 2010-08-25 17:42:05 EDT
Created attachment 177478 [details]
patch + tests

Initial implementation.  The RFC is still being worked.  The following additions may be coming:

 - package "uses" directive support for capabilities
 - support attribute of type list
Comment 3 Thomas Watson CLA 2010-08-26 11:10:34 EDT
I released the patch to head.  Along with the items in comment 2 we also need to restructure the way fragment capabilities work.  Today they are modeled as completely separate capabilities that are provided by the fragment.

Now that a uses directive can be specified on a capability we need to model the capabilities as provided by the host to get a proper view of the class space constraints.
Comment 4 Thomas Watson CLA 2010-08-27 16:52:54 EDT
Created attachment 177646 [details]
restructure fragment capabilities

This patch restructures the capabilities provided by fragment bundles.  They are not merged into the host bundles the fragment is attached to.  This is similar to exported packages except there is no collision detection needed.
Comment 5 Thomas Watson CLA 2010-08-27 17:46:43 EDT
Created attachment 177653 [details]
restructure fragment capabilities + tests

more tests.
Comment 6 Thomas Watson CLA 2010-08-27 17:48:56 EDT
patch released.

Still need to work on support:
 - uses directive
 - getting directives on capabilities
 - refine the support for typed attribute Lists.
Comment 7 Markus Keller CLA 2010-08-30 06:50:56 EDT
> Still need to work on support:
 - adding @since tag for the new APIs
Comment 8 Thomas Watson CLA 2010-08-30 10:30:25 EDT
(In reply to comment #7)
> > Still need to work on support:
>  - adding @since tag for the new APIs

Thanks I added the tags and set my baseline on my OSGi R4.3 workspace.
Comment 9 Thomas Watson CLA 2010-08-30 10:38:27 EDT
I also released a change to filters specified on Eclipse-GenericRequire, filter is an attribute not a directive.
Comment 10 Thomas Watson CLA 2010-09-02 16:07:28 EDT
(In reply to comment #9)
> I also released a change to filters specified on Eclipse-GenericRequire, filter
> is an attribute not a directive.

That was really meant for filter attributes on the OSGi header Require-Capability not Eclipse-GenericRequire.

I released fixes to typed attribute lists.  Still need to do the following:

Still need to work on support for:
 - uses directive
 - getting directives on capabilities
Comment 11 Thomas Watson CLA 2010-09-10 17:04:24 EDT
Created attachment 178663 [details]
patch + test for uses and directives on capabilities

Here is the last bit of changes for this RFC.  I have implemented the uses directive for capabilities.  There are still tons of warnings about usage of raw types.  I will fix these in a separate bug.
Comment 12 Thomas Watson CLA 2010-09-10 17:07:35 EDT
I released the latest patch.  Any more work for RFC 154 will be done in another bug report.