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 09:32:03 GMT

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
>


Mime
View raw message