Como substituir a localização do cache de Ivy?
Pergunta
Eu estou usando Ivy como parte do meu sistema de compilação de integração contínua, mas eu preciso para substituir a localização padrão que a área cache local de Ivy é.
Solução 3
Embora a resposta acima skaffman é correto, eu achei que fosse muito mais trabalho do que eu esperava!
Quando eu adicionei o arquivo ivysettings.xml para o projeto, então eu precisava de redefinir quase tudo, como os valores padrão tinha sido funcionando bem até então.
assim, eu descobri como adicionar o novo diretório de cache para a linha de comando in-line dentro do meu roteiro NAnt ...
< exec program="java" commandline="... ... -jar ${ivy.jar} -cache ${project.cache} ... ... />
(Onde ${ivy.jar}
é a localização do meu arquivo .jar e ${project.cache}
é o novo local definido anteriormente no script onde eu quero a área de cache para uso.)
Isso significa que eu não preciso o arquivo ivysettings.xml, e eu posso reverter tudo voltar a usar os resolvedores padrão, etc.
Outras dicas
Algo parecido com isto em ivysettings.xml
:
<ivysettings>
<caches defaultCacheDir="/path/to/my/cache/dir"/>
</ivysettings>
Veja a documentação em http://ant.apache.org /ivy/history/latest-milestone/settings/caches.html
Estou usar Jenkins como sistema de construção CI, e criar $ HOME / .ivy2 / ivysettings.xml:
<ivysettings>
<properties environment="env" />
<caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />
</ivysettings>
Este criar o dir de cache hera no espaço de trabalho de cada trabalho Jenkins.