我们在远程存储库中有一些内部jar,并不经常构建它们。解析器看起来是这样的:视图快照是本地回购,集线器发布是共享回购。
<chain name="hub-internal-library-chain" returnFirst="true">
<resolver ref="view-snapshots"/>
<resolver ref="hub-releases"/>
</chain>
默认情况下,如果开发人员发布任何内容,它将进入查看快照缓存。我们需要保留旗
return first-"true"
性能问题。所以问题是我想删除缓存(本地)和存储库(本地)中的一些特定文件。我是ivy的新手,任何帮助都将不胜感激。
感谢
附言:我已经看过这个和我相似的问题了。但它还没有解决。http://grokbase.com/t/ant/ivy-user/105d2bxpyy/refreshing-ivy-cache-after-changing-a-published-version
Ivy中没有专门的代码,只删除缓存中一个模块的条目。
但是,使用常规Ant任务非常容易。假设您有默认模式的默认缓存,这里有一段build.xml,它将删除com.acme
:公司的模块foo
的缓存
<delete dir="${user.home}/.ivy2/cache/com.acme/foo" />
这是适用于我的解决方案:
<target name="clear-entries" if="clean-selected-cache" depends="clear-cache,clear- repository">
<echo>Clearing cache and repository entries for internal libraries</echo>
</target>
<target name="clear-cache">
<delete verbose="true">
<fileset dir="${ivy.view-local.cache.root}">
<includesfile name="path.to.file/clear-cache.includes.txt"/>
</fileset>
</delete>
</target>
<target name="clear-repository">
<delete verbose="true">
<fileset dir="${ivy.view-local.repository.root}">
<includesfile name="path.to.file/clear-cache.includes.txt"/>
</fileset>
</delete>
</target>
您可以在clear-cache.includes.txt.