Hello Pedro, Given that the Ivy cache uses the system namespace, would adding a "fromsystem" in your namespace take care off this conversion. Something like:
<namespace name="fix-javassist"> <rule> <fromsystem> <src org="org.jboss" module="javassist"/> <src org="javassist" module="javassist"/> <dest org="org.javassist" module="javassist"/> </fromsystem> <tosystem> <src org="org.jboss" module="javassist"/> <src org="javassist" module="javassist"/> <dest org="org.javassist" module="javassist" /> </tosystem> </rule> </namespace> I haven't given it a try, but from my understanding, the cached reference (of org.jboss:javassist) which is in system namespace should then get converted to org.javassist:javassist, with the above configuration. Can you give that a try? -Jaikiran On 04/10/18 3:32 PM, Pedro de Carvalho Gomes wrote: > Hi all, > > My project downloads from a Maven respositories where different > dependencies do not have consistent names. For instance, javassist has > different ORG definitions: > - org.jboss if version < 3.8 > - javassist if 3.8 <= version < 3.13 > - org.javassist if version >= 3.13 > > I fix this inconsistency with namespaces by mapping all ORGs to the most > recent: > > <namespace name="fix-javassist"> > <rule> > <fromsystem/> > <tosystem> > <src org="org.jboss" module="javassist"/> > <src org="javassist" module="javassist"/> > <dest org="org.javassist" module="javassist"/> > </tosystem> > </rule> > </namespace> > > However cached dependencies do not see the new namespace definitions. For > instance, a dependency that transitively depends on org.jboss#javassist-3.5 > (as defined at its ivy-x.y.z.xml) won't map this to org.javasist#javassist. > > Is there a way to force namespace rules for cached dependencies? > > Pedro >