maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Bentmann (JIRA)" <>
Subject [jira] Commented: (MNG-2966) Use optional transitive dependencies versions as dependencyManagement does
Date Wed, 13 Feb 2008 15:43:28 GMT


Benjamin Bentmann commented on MNG-2966:

+1 on the approach with inclusions. First, it naturally fits together with the existing exclusions
element. Second, I consider it wrong to specify the dependency on jboss-all (or any other
optional dep) as a dependency of the current project (like currently required). Such a model
does not accurately reflect the relations among the dependencies: Hibernate depends directly
on jboss-all and not the client.

> Use optional transitive dependencies versions as dependencyManagement does
> --------------------------------------------------------------------------
>                 Key: MNG-2966
>                 URL:
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Dependencies
>    Affects Versions: 2.0.6
>            Reporter: Daniel Beland
>             Fix For: 2.1
> I would like to be able to add an includes statement on a dependency to get its optional
> ie:
>     <dependency>
>       <groupId>hibernate</groupId>
>       <artifactId>hibernate</artifactId>
>       <version></version>
>       <inclusions>
>         <inclusion>
>           <groupId>jgroups</groupId>
>           <artifactId>jgroups-all</artifactId>
>           <scope>runtime</scope>
>           <optional>false</optional>
>         </inclusion>
>       </inclusions>
>     </dependency>
>  For example, I use hibernate, it has an optional dependency on jgroups-all-2.2.8.
> I would like to be able to add an inclusion statement on the hibernate lib to tell that
I want to include jgroups as well. 
> The main reason for this is that I want the same version as specified in the hibernate
> This way, upgrading hibernate would also upgrade my version of jgroups at the same time.
> Obviously, we need to be able to define a scope and optional attribute as well (not inherited)
> Or maybe we could set the dependency explicitly in the pom without specifying the version
and have maven resolve the version from the nearest source (as it does normally) automatically
or we specify where to resolve it.
> ie something like:
>     <dependency>
>       <groupId>jgroups</groupId>
>       <artifactId>jgroups-all</artifactId>
>       <! -- either maven resolves the version from the nearest source automatically
or we need to tell maven where to find it -->
>       <versionLookup>
>         <groupId>hibernate</groupId>
>         <artifactId>hibernate</artifactId>
>         <!-- maven will resolve the version from the hibernate pom as long as hibernate
is already a dependency of my project (no version needed)
>                or we specify which version from a property (to have it defined only once
in the pom) -->
>         <version>${hibernate.version}</version>
>       </versionLookup>
>       <scope>runtime</scope>
>       <optional>false</optional>
>     </dependency>

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message