You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Xavier Hanin (JIRA)" <ji...@apache.org> on 2008/04/03 11:30:26 UTC

[jira] Resolved: (IVY-784) Add transitive dependency version and branch override mechanism

     [ 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.