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