You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org> on 2008/02/13 16:45:28 UTC

[jira] Issue Comment Edited: (MNG-2966) Use optional transitive dependencies versions as dependencyManagement does

    [ http://jira.codehaus.org/browse/MNG-2966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_123541 ] 

bentmann edited comment on MNG-2966 at 2/13/08 9:44 AM:
-----------------------------------------------------------------

+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 direct 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 but not the client.

      was (Author: bentmann):
    +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: http://jira.codehaus.org/browse/MNG-2966
>             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 dependency(ies).
> ie:
>     <dependency>
>       <groupId>hibernate</groupId>
>       <artifactId>hibernate</artifactId>
>       <version>3.2.1.ga</version>
>       <inclusions>
>         <inclusion>
>           <groupId>jgroups</groupId>
>           <artifactId>jgroups-all</artifactId>
>           <scope>runtime</scope>
>           <optional>false</optional>
>         </inclusion>
>       </inclusions>
>     </dependency>
>  For example, I use hibernate 3.2.1.ga, 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 pom.
> 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: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira