Pedro de Carvalho Gomes created IVY-1593:
--------------------------------------------
Summary: Ivy does not apply namespace rules for cached deps
Key: IVY-1593
URL: https://issues.apache.org/jira/browse/IVY-1593
Project: Ivy
Issue Type: Bug
Components: Core
Affects Versions: 2.5.0-rc1
Environment: Define an Ivy project with the following resolver:
{noformat}
<ibiblio name="Jcenter"
namespace="fixnamespace"
m2compatible="true"
usepoms="true"
root="http://jcenter.bintray.com/" />
{noformat}
Create {{ivy.xml}} with the following dependency:
{noformat}
<dependency org="org.jboss" name="jboss-retro" rev="1.1.0""/>
{noformat}
After the running a first resolve task (and thus creating the cache), add the
following namespace rules:
{noformat}
<namespaces>
<namespace name="canonize">
<rule>
<fromsystem>
<src org="jboss" module="javassist"/>
<src org="org.jboss" module="javassist"/>
<src org="javassist" module="javassist"/>
<dest org="org.javassist" module="javassist"/>
</fromsystem>
</namespace>
</namespaces>
{noformat}
Reporter: Pedro de Carvalho Gomes
Ivy does not apply namespace rules to cached dependencies. Thus, making such
rules "invisible", and potentially breaking builds and/or downloading
duplicated dependencies.
The issue is created by the cached the ivy file at
{{${HOME}/.ivy2/cache/org_def/name_def/ivy-rev_def.xml}}. This file is created
by converting from the original POM. It contains transitive dependencies with
the wrong definitions that should be fixed with namespaces.
After, the namespace definition is added. However Ivy won't recreate the
{{ivy-rev_def.xml}}, and will resolve the transitive dependency with the wrong
namespace.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)