ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jaikiran Pai <jaiki...@apache.org>
Subject Re: Force cache to apply namespace definitions
Date Fri, 05 Oct 2018 07:19:45 GMT
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
>

Mime
View raw message