geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jarek Gawor <jga...@gmail.com>
Subject Re: How to define those bundlized dependencies which would be published by Geronimo
Date Thu, 03 Dec 2009 15:17:29 GMT
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
>

Mime
View raw message