For example, when creating bundlized file for commons-fileupload, in the pom
file of commons-fileupload, it has a dependency of
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.1</version>
</dependency>
In Geronimo, we are using
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.commons-io</artifactId>
<version>1.3.2_4-SNAPSHOT</version>
</dependency>
which packaged commons-io/commons-io/1.3.
I am just thinking, if the bundlized commons-fileupload is used for
Geronimo, so we could add the
org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/1.3.2_4-SNAPSHOT
in the pom file. But if the bundlized commons-fileupload is also used by
other guys, they would find the commons-io version is not the same with its
original one.
2009/12/2 David Jencks <[email protected]>
>
> 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
>
>
>
--
Ivan