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