Yes. That's my experience with optional setting too. Jarek
On Thu, Dec 3, 2009 at 4:19 AM, Ivan <xhh...@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 <david_jen...@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 <david_jen...@yahoo.com> >>> >>> On Dec 2, 2009, at 9:22 PM, Ivan wrote: >>> >>> >>> 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 ! >>> >>> 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 >