You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by David Jencks <da...@yahoo.com> on 2009/12/02 10:01:53 UTC

Re: How to define those bundlized dependencies which would be published by Geronimo

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


Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by Jarek Gawor <jg...@gmail.com>.
Yes. That's my experience with optional setting too.

Jarek

On Thu, Dec 3, 2009 at 4:19 AM, Ivan <xh...@gmail.com> wrote:
> Not sure whether I missed anything, From my understanding, it has nothing to
> do with car-maven-plugin. While the optional is configurred with true, maven
> would not add it as its dependency, and it has the same effect of marking
> the original jar as an exclusion in the pom file of the project depending on
> the bundle.
>
> 2009/12/3 David Jencks <da...@yahoo.com>
>>
>> On Dec 3, 2009, at 12:24 AM, Ivan wrote:
>>
>> I remembered that while the configuration <optional>true</optional> is
>> added, it should not cause the transitive dependency of the original jar
>> file. Will re-validate it later ......
>>
>> That is not my experience.  At least, our geronimo dependency management
>> doesn't see it that way.  Maybe this is a bug in the car-maven-plugin.
>> thanks
>> david jencks
>>
>> 2009/12/3 David Jencks <da...@yahoo.com>
>>>
>>> On Dec 2, 2009, at 9:22 PM, Ivan wrote:
>>>
>>>
>>> 2009/12/2 David Jencks <da...@yahoo.com>
>>>>
>>>> On Dec 2, 2009, at 1:01 AM, David Jencks wrote:
>>>>
>>>>> 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.
>>>>
>>>> I think I found a way to avoid the transitive dependencies problem using
>>>> <Embed-Package>.  Here's a bit of the jstl bundleization pom:
>>>>
>>>>    <dependencies>
>>>>        <dependency>
>>>>            <groupId>${pkgGroupId}</groupId>
>>>>            <artifactId>${pkgArtifactId}</artifactId>
>>>>            <version>${pkgVersion}</version>
>>>>            <scope>provided</scope>
>>>>        </dependency>
>>>>    </dependencies>
>>>>
>>>>    <build>
>>>>        <plugins>
>>>>            <plugin>
>>>>                <groupId>org.apache.felix</groupId>
>>>>                <artifactId>maven-bundle-plugin</artifactId>
>>>>                <!--<version>2.0.1-SNAPSHOT</version>-->
>>>>                <configuration>
>>>>                    <instructions>
>>>>
>>>>  <Export-Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
>>>>
>>>>  <Import-Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
>>>>
>>>>  <!--<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>-->
>>>>
>>>>  <Embed-Dependency>*;scope=provided;inline=true</Embed-Dependency>
>>>>                    </instructions>
>>>>                </configuration>
>>>>            </plugin>
>>>>        </plugins>
>>>>    </build>
>>>>
>>>> I have some moderately extensive changes pending so I'd appreciate it if
>>>> anyone interested in adopting this approach wait a day or so before
>>>> committing it.
>>>
>>>   Could you please explain it more ? From the generated manifest.mf file
>>> and the dependency tree, I did not find any different. Thanks !
>>>
>>> The files included in the bundle should be exactly the same.  However,
>>> since the dependency in the pom is marked "provided", it is not a maven
>>> transitive dependency of the bundle.  Therefore the original jar does not
>>> need to be excluded from the bundle when you use the bundle as a maven
>>> dependency in a project.
>>> hope this is clearer :-)
>>> thanks
>>> david jencks
>>>
>>>
>>>>
>>>> thanks
>>>> david jencks
>>>>
>>>>
>>>>>
>>>>> 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
>>
>
>
>
> --
> Ivan
>

Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by Ivan <xh...@gmail.com>.
Not sure whether I missed anything, From my understanding, it has nothing to
do with car-maven-plugin. While the optional is configurred with true, maven
would not add it as its dependency, and it has the same effect of marking
the original jar as an exclusion in the pom file of the project depending on
the bundle.

2009/12/3 David Jencks <da...@yahoo.com>

>
> On Dec 3, 2009, at 12:24 AM, Ivan wrote:
>
> I remembered that while the configuration <optional>true</optional> is
> added, it should not cause the transitive dependency of the original jar
> file. Will re-validate it later ......
>
>
> That is not my experience.  At least, our geronimo dependency management
> doesn't see it that way.  Maybe this is a bug in the car-maven-plugin.
>
> thanks
> david jencks
>
>
> 2009/12/3 David Jencks <da...@yahoo.com>
>
>>
>> On Dec 2, 2009, at 9:22 PM, Ivan wrote:
>>
>>
>>
>> 2009/12/2 David Jencks <da...@yahoo.com>
>>
>>>
>>> On Dec 2, 2009, at 1:01 AM, David Jencks wrote:
>>>
>>>  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.
>>>>
>>>
>>> I think I found a way to avoid the transitive dependencies problem using
>>> <Embed-Package>.  Here's a bit of the jstl bundleization pom:
>>>
>>>
>>>    <dependencies>
>>>        <dependency>
>>>            <groupId>${pkgGroupId}</groupId>
>>>            <artifactId>${pkgArtifactId}</artifactId>
>>>            <version>${pkgVersion}</version>
>>>            <scope>provided</scope>
>>>        </dependency>
>>>    </dependencies>
>>>
>>>    <build>
>>>        <plugins>
>>>            <plugin>
>>>                <groupId>org.apache.felix</groupId>
>>>                <artifactId>maven-bundle-plugin</artifactId>
>>>                <!--<version>2.0.1-SNAPSHOT</version>-->
>>>                <configuration>
>>>                    <instructions>
>>>
>>>  <Export-Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
>>>
>>>  <Import-Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
>>>
>>>  <!--<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>-->
>>>
>>>  <Embed-Dependency>*;scope=provided;inline=true</Embed-Dependency>
>>>                    </instructions>
>>>                </configuration>
>>>            </plugin>
>>>        </plugins>
>>>    </build>
>>>
>>> I have some moderately extensive changes pending so I'd appreciate it if
>>> anyone interested in adopting this approach wait a day or so before
>>> committing it.
>>>
>>
>>   Could you please explain it more ? From the generated manifest.mf file
>> and the dependency tree, I did not find any different. Thanks !
>>
>>
>> The files included in the bundle should be exactly the same.  However,
>> since the dependency in the pom is marked "provided", it is not a maven
>> transitive dependency of the bundle.  Therefore the original jar does not
>> need to be excluded from the bundle when you use the bundle as a maven
>> dependency in a project.
>>
>> hope this is clearer :-)
>>
>> thanks
>> david jencks
>>
>>
>>
>>>
>>> thanks
>>> david jencks
>>>
>>>
>>>
>>>
>>>> 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
>
>
>


-- 
Ivan

Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by David Jencks <da...@yahoo.com>.
On Dec 3, 2009, at 12:24 AM, Ivan wrote:

> I remembered that while the configuration <optional>true</optional>  
> is added, it should not cause the transitive dependency of the  
> original jar file. Will re-validate it later ......

That is not my experience.  At least, our geronimo dependency  
management doesn't see it that way.  Maybe this is a bug in the car- 
maven-plugin.

thanks
david jencks

>
> 2009/12/3 David Jencks <da...@yahoo.com>
>
> On Dec 2, 2009, at 9:22 PM, Ivan wrote:
>
>>
>>
>> 2009/12/2 David Jencks <da...@yahoo.com>
>>
>> On Dec 2, 2009, at 1:01 AM, David Jencks wrote:
>>
>> 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.
>>
>> I think I found a way to avoid the transitive dependencies problem  
>> using <Embed-Package>.  Here's a bit of the jstl bundleization pom:
>>
>>
>>    <dependencies>
>>        <dependency>
>>            <groupId>${pkgGroupId}</groupId>
>>            <artifactId>${pkgArtifactId}</artifactId>
>>            <version>${pkgVersion}</version>
>>            <scope>provided</scope>
>>        </dependency>
>>    </dependencies>
>>
>>    <build>
>>        <plugins>
>>            <plugin>
>>                <groupId>org.apache.felix</groupId>
>>                <artifactId>maven-bundle-plugin</artifactId>
>>                <!--<version>2.0.1-SNAPSHOT</version>-->
>>                <configuration>
>>                    <instructions>
>>                        <Export- 
>> Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
>>                        <Import- 
>> Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
>>                        <!--<_versionpolicy>[$(version;==;$(@)),$ 
>> (version;+;$(@)))</_versionpolicy>-->
>>                        <Embed- 
>> Dependency>*;scope=provided;inline=true</Embed-Dependency>
>>                    </instructions>
>>                </configuration>
>>            </plugin>
>>        </plugins>
>>    </build>
>>
>> I have some moderately extensive changes pending so I'd appreciate  
>> it if anyone interested in adopting this approach wait a day or so  
>> before committing it.
>>
>>   Could you please explain it more ? From the generated manifest.mf  
>> file and the dependency tree, I did not find any different. Thanks !
>
> The files included in the bundle should be exactly the same.   
> However, since the dependency in the pom is marked "provided", it is  
> not a maven transitive dependency of the bundle.  Therefore the  
> original jar does not need to be excluded from the bundle when you  
> use the bundle as a maven dependency in a project.
>
> hope this is clearer :-)
>
> thanks
> david jencks
>
>>
>>
>> thanks
>> david jencks
>>
>>
>>
>>
>> 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


Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by Ivan <xh...@gmail.com>.
I remembered that while the configuration <optional>true</optional> is
added, it should not cause the transitive dependency of the original jar
file. Will re-validate it later ......

2009/12/3 David Jencks <da...@yahoo.com>

>
> On Dec 2, 2009, at 9:22 PM, Ivan wrote:
>
>
>
> 2009/12/2 David Jencks <da...@yahoo.com>
>
>>
>> On Dec 2, 2009, at 1:01 AM, David Jencks wrote:
>>
>>  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.
>>>
>>
>> I think I found a way to avoid the transitive dependencies problem using
>> <Embed-Package>.  Here's a bit of the jstl bundleization pom:
>>
>>
>>    <dependencies>
>>        <dependency>
>>            <groupId>${pkgGroupId}</groupId>
>>            <artifactId>${pkgArtifactId}</artifactId>
>>            <version>${pkgVersion}</version>
>>            <scope>provided</scope>
>>        </dependency>
>>    </dependencies>
>>
>>    <build>
>>        <plugins>
>>            <plugin>
>>                <groupId>org.apache.felix</groupId>
>>                <artifactId>maven-bundle-plugin</artifactId>
>>                <!--<version>2.0.1-SNAPSHOT</version>-->
>>                <configuration>
>>                    <instructions>
>>
>>  <Export-Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
>>
>>  <Import-Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
>>
>>  <!--<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>-->
>>
>>  <Embed-Dependency>*;scope=provided;inline=true</Embed-Dependency>
>>                    </instructions>
>>                </configuration>
>>            </plugin>
>>        </plugins>
>>    </build>
>>
>> I have some moderately extensive changes pending so I'd appreciate it if
>> anyone interested in adopting this approach wait a day or so before
>> committing it.
>>
>
>   Could you please explain it more ? From the generated manifest.mf file
> and the dependency tree, I did not find any different. Thanks !
>
>
> The files included in the bundle should be exactly the same.  However,
> since the dependency in the pom is marked "provided", it is not a maven
> transitive dependency of the bundle.  Therefore the original jar does not
> need to be excluded from the bundle when you use the bundle as a maven
> dependency in a project.
>
> hope this is clearer :-)
>
> thanks
> david jencks
>
>
>
>>
>> thanks
>> david jencks
>>
>>
>>
>>
>>> 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

Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by David Jencks <da...@yahoo.com>.
On Dec 2, 2009, at 9:22 PM, Ivan wrote:

>
>
> 2009/12/2 David Jencks <da...@yahoo.com>
>
> On Dec 2, 2009, at 1:01 AM, David Jencks wrote:
>
> 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.
>
> I think I found a way to avoid the transitive dependencies problem  
> using <Embed-Package>.  Here's a bit of the jstl bundleization pom:
>
>
>    <dependencies>
>        <dependency>
>            <groupId>${pkgGroupId}</groupId>
>            <artifactId>${pkgArtifactId}</artifactId>
>            <version>${pkgVersion}</version>
>            <scope>provided</scope>
>        </dependency>
>    </dependencies>
>
>    <build>
>        <plugins>
>            <plugin>
>                <groupId>org.apache.felix</groupId>
>                <artifactId>maven-bundle-plugin</artifactId>
>                <!--<version>2.0.1-SNAPSHOT</version>-->
>                <configuration>
>                    <instructions>
>                        <Export- 
> Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
>                        <Import- 
> Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
>                        <!--<_versionpolicy>[$(version;==;$(@)),$ 
> (version;+;$(@)))</_versionpolicy>-->
>                        <Embed- 
> Dependency>*;scope=provided;inline=true</Embed-Dependency>
>                    </instructions>
>                </configuration>
>            </plugin>
>        </plugins>
>    </build>
>
> I have some moderately extensive changes pending so I'd appreciate  
> it if anyone interested in adopting this approach wait a day or so  
> before committing it.
>
>   Could you please explain it more ? From the generated manifest.mf  
> file and the dependency tree, I did not find any different. Thanks !

The files included in the bundle should be exactly the same.  However,  
since the dependency in the pom is marked "provided", it is not a  
maven transitive dependency of the bundle.  Therefore the original jar  
does not need to be excluded from the bundle when you use the bundle  
as a maven dependency in a project.

hope this is clearer :-)

thanks
david jencks

>
>
> thanks
> david jencks
>
>
>
>
> 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


Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by Ivan <xh...@gmail.com>.
2009/12/2 David Jencks <da...@yahoo.com>

>
> On Dec 2, 2009, at 1:01 AM, David Jencks wrote:
>
>  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.
>>
>
> I think I found a way to avoid the transitive dependencies problem using
> <Embed-Package>.  Here's a bit of the jstl bundleization pom:
>
>
>    <dependencies>
>        <dependency>
>            <groupId>${pkgGroupId}</groupId>
>            <artifactId>${pkgArtifactId}</artifactId>
>            <version>${pkgVersion}</version>
>            <scope>provided</scope>
>        </dependency>
>    </dependencies>
>
>    <build>
>        <plugins>
>            <plugin>
>                <groupId>org.apache.felix</groupId>
>                <artifactId>maven-bundle-plugin</artifactId>
>                <!--<version>2.0.1-SNAPSHOT</version>-->
>                <configuration>
>                    <instructions>
>
>  <Export-Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
>
>  <Import-Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
>
>  <!--<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>-->
>
>  <Embed-Dependency>*;scope=provided;inline=true</Embed-Dependency>
>                    </instructions>
>                </configuration>
>            </plugin>
>        </plugins>
>    </build>
>
> I have some moderately extensive changes pending so I'd appreciate it if
> anyone interested in adopting this approach wait a day or so before
> committing it.
>

  Could you please explain it more ? From the generated manifest.mf file and
the dependency tree, I did not find any different. Thanks !


>
> thanks
> david jencks
>
>
>
>
>> 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

Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by David Jencks <da...@yahoo.com>.
On Dec 2, 2009, at 1:01 AM, David Jencks wrote:

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

I think I found a way to avoid the transitive dependencies problem  
using <Embed-Package>.  Here's a bit of the jstl bundleization pom:

     <dependencies>
         <dependency>
             <groupId>${pkgGroupId}</groupId>
             <artifactId>${pkgArtifactId}</artifactId>
             <version>${pkgVersion}</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>

     <build>
         <plugins>
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <!--<version>2.0.1-SNAPSHOT</version>-->
                 <configuration>
                     <instructions>
                         <Export- 
Package>javax.servlet.jsp.jstl*;version="1.2",*</Export-Package>
                         <Import- 
Package>com.sun.org.apache*;resolution:=optional,*</Import-Package>
                         <!--<_versionpolicy>[$(version;==;$(@)),$ 
(version;+;$(@)))</_versionpolicy>-->
                         <Embed- 
Dependency>*;scope=provided;inline=true</Embed-Dependency>
                     </instructions>
                 </configuration>
             </plugin>
         </plugins>
     </build>

I have some moderately extensive changes pending so I'd appreciate it  
if anyone interested in adopting this approach wait a day or so before  
committing it.

thanks
david jencks


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


Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by David Jencks <da...@yahoo.com>.
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 <da...@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 <da...@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


Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by Ivan <xh...@gmail.com>.
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 <da...@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 <da...@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

Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by David Jencks <da...@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 <da...@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


Re: How to define those bundlized dependencies which would be published by Geronimo

Posted by Ivan <xh...@gmail.com>.
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.

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 ?


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