2009/12/2 David Jencks <[email protected]>
>
> 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