I agree that this looks like a defect in the maven bundle plugin. The services 
aren't used by the bundle, so they should not be expressed as Import-Service 
entries for the bundle.

I am also very concerned that the Import-Service entries generated are Aries 
specific. I have plans to add Spring DM/Gemini Blueprint support for the Aries 
JPA container namespace (which I have now formalized in JIRA Aries-268). Adding 
this Import-Service header may prevent this support from being added, or at the 
very least lead to unnecessary bundles (and their dependencies) being 
provisioned. Essentially, someone who already has a Gemini blueprint 
implementation installed may end up with Aries blueprint as well, even though 
it is not necessary.

One final concern is that the Import-Service headers being generated are 
non-standard (the OSGi spec says that the values have no attributes). Isn't 
there a risk that this might break existing tools?

I am +1 for raising a bug.

Regards,

Tim



----------------------------------------
> Date: Thu, 25 Mar 2010 13:58:15 -0400
> From: [email protected]
> To: [email protected]
> Subject: maven-bundle-plugin generating Import-Service entries
>
> I've noticed that recently the maven-bundle-plugin has started to
> generate the following Import-Service entries for namespace extensions
> for JPA and declarative transactions. For example, in AriesTrader there
> is a jpa persistence bundle that uses both of these features and
> therefore necessarily includes the following in the blueprint.xml:
>
> 
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0";>
> ...
>
> 
> class="org.apache.aries.samples.ariestrader.persist.jpa.cm.TradeJpaCm"
> init-method="init">
> 
> 
> 
>
>
> This now results in the following import-service entries being generated
> in the MANIFEST.MF:
>
> Import-Service: org.apache.aries.blueprint.NamespaceHandler;filter="(o
> sgi.service.blueprint.namespace=http://aries.apache.org/xmlns/transac
> tions/v1.0.0)",org.apache.aries.blueprint.NamespaceHandler;filter="(o
> sgi.service.blueprint.namespace=http://aries.apache.org/xmlns/jpa/v1.
> 0.0)"
>
> These just started appearing recently - perhaps due to some recent
> change in the maven-bundle-plugin?
>
> IIUC these services are really only used by the blueprint
> implementation. They are not used directly by the application and so it
> seems to be inappropriate to include these in the MANIFEST for the
> application bundle. Is this a defect for the maven-bundle-plugin?
>
> Regards,
> Joe
                                          
_________________________________________________________________
We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now
http://clk.atdmt.com/UKM/go/195013117/direct/01/

Reply via email to