On Dec 2, 2009, at 1:25 AM, Ivan wrote:
Yes, you are right, in the beginning, I add the exclusion to limit
the export packages while using * in the export-package
configuration of felix-maven-plugin, now, I always explicitly add
the export packages name list.
I think we need to investigate more and maybe fix the bundle plugin so
the Export-Package header includes versions derived from the maven
version. There's the
<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
instruction but I have not yet made it do what I want. I think we
should not need to specify Export-Package at all.
Another thing I am thinking is that what version should be added. If
the original non-bundlized dependency is of version 1.0, while
Geronimo uses 1.1, so which version should be added ? I prefered to
include the one used in Geronimo, so that we could avoid so much
exclusions in the Geronimo's pom file. Any comment ?
Can you provide a more detailed example? I don't understand.
BTW, if the original jar maven version is 1.0, I think we should
follow servicemix and have our version 1.0_1-SNAPSHOT
thanks
david jencks
2009/12/2 David Jencks <[email protected]>
I have no problem with the idea of including dependencies on
bundleized versions of the original dependencies, this seems to me
like a good convention.
However I don't see any use in the exclusions you show, since the
original non-bundleized jar is a dependency of the new bundle, and
needs to be excluded whenever we use it. Excluding the original jar
will also exclude all of its dependencies, so the exclusions you
show won't have any effect.
I think we need to work hard to push the bundleization back into the
originating project and to modify the felix bundle plugin so the
original non-bundle doesn't end up as a transitive dependency of the
bundle.
thanks
david jencks
On Dec 1, 2009, at 8:53 PM, Ivan wrote:
Hi,
In the plugin enabling work, we always need to exclude those non-
bundle depdencies, and add the bundlized ones somewhere.
But for those bundlized 3rd componenets which would publish by
Geronimo in the folder framework/bundles, I think we may have two
ways, take org.apache.geronimo.bundles/woden-impl-dom as an example,
currently, the dependency setting in the pom file is like :
<dependency>
<groupId>${pkgGroupId}</groupId>
<artifactId>${pkgArtifactId}</artifactId>
<version>${pkgVersion}</version>
<exclusions>
<exclusion>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
</exclusion>
<exclusion>
<groupId>wsdl</groupId>
<artifactId>wsdl</artifactId>
</exclusion>
</exclusions>
</dependency>
All the non-bundlized components are excluded, so when using this
bundle, we may also need to add the bundlized wsdl there.
While it seems that we could also add the bundlized wsdl in the pom
file of org.apache.geronimo.bundles/woden-impl-dom. It may be like :
<dependencies>
<dependency>
<groupId>${pkgGroupId}</groupId>
<artifactId>${pkgArtifactId}</artifactId>
<version>${pkgVersion}</version>
<exclusions>
<exclusion>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
</exclusion>
<exclusion>
<groupId>wsdl</groupId>
<artifactId>wsdl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.wsdl4j</
artifactId>
<version>1.6.2_2</version>
</dependency>
</dependencies>
Then, when we use it, we may not need to add bundlized wsdl there,
I think car-maven-plugin could find it. I am thinking that we might
need a uniform way to do it, any comment ?
--
Ivan
--
Ivan