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 Thu, 03 Dec 2009 05:22:48 GMT
2009/12/2 David Jencks <david_jencks@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

Mime
View raw message