osgi / bugzilla-archive

Archive of OSGi Alliance Specification Bugzilla bugs. The Specification Bugzilla system was decommissioned with the move to GitHub. The issues in this repository are imported from the Specification Bugzilla system for archival purposes.
0 stars 1 forks source link

Define standard capability name space for extender implementations #2067

Closed bjhargrave closed 12 years ago

bjhargrave commented 12 years ago

Original bug ID: BZ#2199 From: Neil Bartlett <neil.bartlett@paremus.com> Reported version: R4 V4.3

Blocker for: BZ#2262

bjhargrave commented 12 years ago

Comment author: Neil Bartlett <neil.bartlett@paremus.com>

SCR implementations should provide a standard capability to indicate that they are SCRs, including which version of the DS specification they comply with.

I anticipate this capability would mainly be used in OBR resolution, to ensure that an SCR runtime is made available when one or more DS-enabled bundles are present.

bjhargrave commented 12 years ago

Comment author: @bjhargrave

CPEG call: We agreed to define an osgi.extender capability name space in the core spec. Extenders must only extend bundles which are either wired to the extender capability or are not wired to any capability of the extender's name.

For example:

Provide-Capability: osgi.extender; osgi.extender="osgi.ds"; uses:="org.osgi.service.component";version:Version="1.2"

Provide-Capability: osgi.extender; osgi.extender="osgi.blueprint"; uses:="org.osgi.service.blueprint.container,org.osgi.service.blueprint.reflect";version:Version="1.0"

Require-Capability: osgi.extender; filter:="(&(osgi.extender=osgi.ds)(version>=1.2))"

Then each extender spec (e.g. DS, Blueprint, etc.) must define it's value for the osgi.extender attribute plus any other attributes which are interesting to the extender.

Assign to Peter.

bjhargrave commented 12 years ago

Comment author: @pkriens

Create a name space definition in the life cycle chapter that defines extenders and defines the name space. Added name spaces to DS and Blueprint though I am not sure if we then no should rev the version of Blueprint?

bjhargrave commented 12 years ago

Comment author: @bjhargrave

CPEG call: Agreed that added definition of extender name space value to an extender spec imposes new semantics on the specification which then requires the specification version be incremented.

Also agreed that adding this alone is not sufficient justification to modify all current extender specs (e.g. Blueprint, JPA, Web container). When an extender spec is otherwise updated (e.g. DS moving to 1.3 for RFC 179), then the extender spec will also be updated with the capability definition.

Closing this bug as Peter has already added the necessary section to the Core spec to define the osgi.extender name space and the rules around its use.