How to override the location of Ivy's Cache?

后端 未结 3 2019
北海茫月
北海茫月 2020-12-01 11:58

I am using Ivy as part of my continuous integration build system, but I need to override the default location that Ivy\'s local cache area is.

相关标签:
3条回答
  • 2020-12-01 12:39

    Something like this in ivysettings.xml:

    <ivysettings>
        <caches defaultCacheDir="/path/to/my/cache/dir"/>
    </ivysettings>
    

    See documentation at http://ant.apache.org/ivy/history/latest-milestone/settings/caches.html

    0 讨论(0)
  • 2020-12-01 12:41

    Although the answer above from skaffman is correct, I found it to be a lot more work than I had expected!

    When I added the ivysettings.xml file to the project, I then needed to redefine almost everything, as the default values had been working fine until then.

    so, I found out how to add the new cache directory to the in-line command-line within my NAnt script...

    < exec program="java" commandline="... ... -jar ${ivy.jar} -cache ${project.cache} ... ... />
    

    (Where ${ivy.jar} is the location of my .jar file and ${project.cache} is the new location set earlier in the script where I want the cache area to use.)

    This means that I don't need the ivysettings.xml file, and I can revert everything back to using the default resolvers, etc.

    0 讨论(0)
  • 2020-12-01 12:56

    I'm use Jenkins as CI build system, and create $HOME/.ivy2/ivysettings.xml:

    <ivysettings>
        <properties environment="env" />
        <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />
    </ivysettings>
    

    This create the ivy cache dir at each jenkins job's workspace.

    0 讨论(0)
提交回复
热议问题