Jean-Sebastien Delfino wrote:
Philippe Ombredanne wrote:
All:
Some of the built binaries alreday have a manifest that is
semi-osgi'fied.
I suggest that it would be really nice if all the tuscany binaries could
be delivered with a complete OSGi manifest.
I can see only good stuffs from that as it makes OSGi friendly for Felix
or Eclipse or general OSGi consumption.
That is something that could be done as part of the build with little to
no core code change.
There are tools at Felix and http://www.aqute.biz/Code/Bnd that can help
there.
Ideally we should be to infer most everything from the poms.
In practice there may be some subtle devilish details that may require
some manual adjustments, but nothing extra ordinary.
What do you think?
It's not the first time that this comes up:
http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200707.mbox/[EMAIL PROTECTED]
... good that you bring it up again as it looks like there was
consensus to add OSGi manifest entries to the SCA API Jar, but it has
not been done yet :)
Only the SDO API Jar manifest contain OSGi entries at the moment,
generated using the Felix plugin like that:
<plugin>
<groupId>org.apache.felix.plugins</groupId>
<artifactId>maven-osgi-plugin</artifactId>
<version>0.8.0-SNAPSHOT</version>
<extensions>true</extensions>
<configuration>
<osgiManifest>
<bundleName>${pom.name}</bundleName>
<bundleDescription>${pom.description}</bundleDescription>
<bundleVendor>${pom.organization.name}</bundleVendor>
<bundleLocalization>plugin</bundleLocalization>
<bundleSymbolicName>commonj.sdo</bundleSymbolicName>
<exportPackage>
commonj.sdo;version="${specVersion}",
commonj.sdo.helper;version="${specVersion},
commonj.sdo.impl;version="${specVersion}"
</exportPackage>
</osgiManifest>
</configuration>
</plugin>
The SDO pom.xml probably needs to upgrade from Felix 0.8.0-SNAPSHOT to
1.0.0, and I believe that the plugin has been renamed to
maven-bundle-plugin now.
+1 from me to start adding OSGi manifest entries to the SCA sca-api
and domain-api Jars.
I'm not sure about adding OSGi manifests entries to all the other
implementation Jars which do not publish any Application programming
interfaces. Which configuration / use case will benefit from having
OSGi manifest entries in these Jars?
Thoughts?
Actually more SDO Jars have OSGi manifests entries, generated
differently, like that:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifestEntries>
<Extension-Name>${project.artifactId}</Extension-Name>
<Specification-Title>${project.name}</Specification-Title>
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
<Specification-Version>${version}</Specification-Version>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
<Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
<Implementation-Version>${project.version}</Implementation-Version>
<!--
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
<Bundle-Name>${project.name}</Bundle-Name>
<Bundle-SymbolicName>org.apache.tuscany.sdo.impl</Bundle-SymbolicName>
<Bundle-Version>1.0.0</Bundle-Version>
<Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
-->
<Require-Bundle>org.eclipse.emf.common,org.eclipse.emf.ecore,org.eclipse.emf.ecore.change,org.eclipse.emf.ecore.xmi,org.eclipse.xsd,org.apache.tuscany.sdo.spec;visibility:=reexport</Require-Bundle>
<Export-Package>commonj.sdo.impl,org.apache.tuscany.sdo,org.apache.tuscany.sdo.helper,org.apache.tuscany.sdo.impl,org.apache.tuscany.sdo.test,org.apache.tuscany.sdo.util</Export-Package>
</manifestEntries>
</archive>
</configuration>
</plugin>
This looks a little more complicated than the Felix way... Could the SDO
folks shed some light on why some modules use Felix and others not? is
it history? legacy? :) or is there a technical reason for that?
Thanks
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]