geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: How to define those bundlized dependencies which would be published by Geronimo
Date Wed, 02 Dec 2009 16:46:36 GMT

On Dec 2, 2009, at 1:49 AM, Ivan wrote:

> 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.

OK, now I see what you mean :-)

I think we should depend on the latest version we can, similar to your  
example above.  I'd hope that if the original project bundleized  
itself it would also move to the latest version of its dependencies.

thanks
david jencks

>
> 2009/12/2 David Jencks <david_jencks@yahoo.com>
>
> 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 <david_jencks@yahoo.com>
>> 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


Mime
View raw message