macrodef of a set of resolvers only remembers the last one
----------------------------------------------------------
Key: IVY-568
URL: https://issues.apache.org/jira/browse/IVY-568
Project: Ivy
Issue Type: Bug
Components: Core
Affects Versions: 2.0.0-alpha-1
Reporter: Jing Xue
Priority: Minor
I have ivysettings like this:
{code:xml}
<ivysettings>
<properties file="build.properties" override="true" />
<property name="ivyx.returnFirst" value="true" override="false" />
<property name="ivyx.defaultResolver" value="main" override="false" />
<settings defaultResolver="${ivyx.defaultResolver}" checkUpToDate="true" />
<macrodef name="cacheless-chain">
<filesystem name="local" m2compatible="true" local="true">
<ivy
pattern="${local.ivy.repo.root}/[organisation]/[module]/[revision]/ivy-[revision](-[classifier]).xml"/>
<artifact
pattern="${local.ivy.repo.root}/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
</filesystem>
<filesystem name="local-m2" m2compatible="true" local="true">
<ivy
pattern="${local.m2.repo.root}/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).pom"/>
<artifact
pattern="${local.m2.repo.root}/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
</filesystem>
<ibiblio name="ibiblio" m2compatible="true"
root="${ivyx.ibiblio.artifact.root}" checksums=""
alwaysCheckExactRevision="false" />
</macrodef>
<resolvers>
<chain name="main" returnFirst="${ivyx.returnFirst}">
<cache name="cacheResolver" />
<cacheless-chain name="cacheless-chain-1" />
</chain>
<!--
"Cacheless" only means the CacheResolver doesn't get involved,
but doesn't mean the cache is skipped completely. Ivy still copies
the stuff it resolved into the cache.
-->
<chain name="main-cacheless" returnFirst="${ivyx.returnFirst}">
<cacheless-chain name="cacheless-chain-2" />
</chain>
</resolvers>
</ivysettings>
{code}
When I try to use the 'main-cacheless' resolver by "ant -v
-Divyx.defaultResolver=main-cacheless", the two local repos defined in the
macro are completely ignored during ivy:resolve, as shown by the verbose log:
{quote}
[ivy:resolve] settings loaded (264ms)
[ivy:resolve] default cache: /home/jingxue/.ivy/cache
[ivy:resolve] default resolver: main-cacheless
[ivy:resolve] -- 5 resolvers:
[ivy:resolve] cacheResolver [cache]
[ivy:resolve] cacheless-chain-2-ibiblio [ibiblio]
[ivy:resolve] main-cacheless [chain] [cacheless-chain-2-ibiblio]
[ivy:resolve] cacheless-chain-1-ibiblio [ibiblio]
[ivy:resolve] main [chain] [cacheResolver, cacheless-chain-1-ibiblio]
{quote}
(I realize this could be just a documentation issue - maybe a macrodef isn't
supposed to contain more than one resolver?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.