[ 
https://issues.apache.org/jira/browse/IVY-784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xavier Hanin resolved IVY-784.
------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.0)
                   2.0-RC1

I've just finished implementing this, which actually resulted in more changes 
to Ivy files, to get a more consistent control over transitive dependencies.

There are three kind of transitive dependency control:
- exclude, either artifacts or whole modules, either transitively or direct
- the new override mechanism, which let override the revision and/or branch of 
transitive dependency descriptors
- the conflict management control

Both 3 are now declared directly under the dependencies element in Ivy files. 
Hence per module conflict management has been deprecated in the conflicts 
section, and moved to be a direct child of dependencies. Here is an example 
using the 3 kind of control:
{noformat}
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra";>
        [...]
        <dependencies>
                <dependency name="mymodule2" rev="2.0" e:attr4="value4"/>
                
                <exclude module="*servlet*" matcher="glob" conf="myconf1" /> 
                <exclude org="acme" module="test" artifact="test" type="source" 
ext="jar" />
                <override org="yourorg" module=".*1" matcher="regexp" 
branch="BRANCH" rev="1.0" /> 
                <conflict org="yourorg" module=".*" matcher="regexp" 
manager="all" />
                <conflict org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
        </dependencies>
</ivy-module>
{noformat}

Documentation has been updated accordingly.

> Add transitive dependency version and branch override mechanism
> ---------------------------------------------------------------
>
>                 Key: IVY-784
>                 URL: https://issues.apache.org/jira/browse/IVY-784
>             Project: Ivy
>          Issue Type: New Feature
>            Reporter: Xavier Hanin
>            Assignee: Xavier Hanin
>             Fix For: 2.0-RC1
>
>
> Maven since version 2.0.6 supports a mechanism for a pom to override the 
> version constraint of a transitive dependency (dependency management is used 
> for that). IVY-753 has been opened to make Ivy compatible with that, so to 
> fix this we will need to introduce a new mechanism to Ivy, which would better 
> be available to users using Ivy native format (ivy xml files). Supporting 
> branch override too seems to be a natural fit for Ivy in this case.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to