You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by Holly Cummins <ho...@googlemail.com> on 2012/05/14 14:01:42 UTC

Which bundle should be doing the export of org.osgi.service.blueprint?

Hi all,

I'm trying to do some tidying in our JIRA and sort out any must-fix
defects for a 1.0.0 release - in particular ones which affect bundle
exports and imports and might cause compatibility issues for future
versions.

I'm currently puzzling over
https://issues.apache.org/jira/browse/ARIES-670: "blueprint.api bundle
exports org.osgi.service.blueprint package at version 0.0.0"

I've checked the source, and the blueprint api bundle does indeed
export this package at version 0.0.0. However, the core bundle exports
it at version 1.0.0. The export was added to the core bundle sometime
between June and October, after the original defect was raised, I'm
pretty confident that having two of our bundles export the same
package at different versions is wrong, but I'm not sure which bundle
should be doing the export. Alasdair's quoted the spec as saying

"To mitigate type incompatibility problems, a Blueprint extender must
export the org.osgi.service.blueprint package. In the uses: directive,
it should list any packages of classes that can be shared between the
Blueprint extender and the Blueprint bundle. Blueprint bundles should
import this package."

To me this says it's the core bundle which should be doing the export,
not the api bundle. What does everyone else think?

Re: Which bundle should be doing the export of org.osgi.service.blueprint?

Posted by David Jencks <da...@yahoo.com>.
t
On May 14, 2012, at 5:01 AM, Holly Cummins wrote:

> Hi all,
> 
> I'm trying to do some tidying in our JIRA and sort out any must-fix
> defects for a 1.0.0 release - in particular ones which affect bundle
> exports and imports and might cause compatibility issues for future
> versions.
> 
> I'm currently puzzling over
> https://issues.apache.org/jira/browse/ARIES-670: "blueprint.api bundle
> exports org.osgi.service.blueprint package at version 0.0.0"
> 
> I've checked the source, and the blueprint api bundle does indeed
> export this package at version 0.0.0. However, the core bundle exports
> it at version 1.0.0. The export was added to the core bundle sometime
> between June and October, after the original defect was raised, I'm
> pretty confident that having two of our bundles export the same
> package at different versions is wrong, but I'm not sure which bundle
> should be doing the export. Alasdair's quoted the spec as saying
> 
> "To mitigate type incompatibility problems, a Blueprint extender must
> export the org.osgi.service.blueprint package. In the uses: directive,
> it should list any packages of classes that can be shared between the
> Blueprint extender and the Blueprint bundle. Blueprint bundles should
> import this package."
> 
> To me this says it's the core bundle which should be doing the export,
> not the api bundle. What does everyone else think?

I agree.

david jencks