geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan <xhh...@gmail.com>
Subject Re: How to define those bundlized dependencies which would be published by Geronimo
Date Wed, 02 Dec 2009 09:49:52 GMT
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 <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