我们在远程存储库中有一些内部jar并且不经常构建它们。解析器看起来像这样:view-snapshots是一个本地repo,hub-releases是一个共享的repo。
<chain name="hub-internal-library-chain" returnFirst="true">
<resolver ref="view-snapshots"/>
<resolver ref="hub-releases"/>
</chain>
默认情况下,如果开发人员发布任何内容,则会转到view-snapshots cache.We需要保留标志
首先返回 - “真实”
表示性能问题。所以我想删除缓存(本地)和存储库(本地)中的一些特定文件。我是常春藤的新手,任何帮助都将不胜感激。
由于
PS:我已经看过这个类似于我的问题。但是它还没有解决。 http://grokbase.com/t/ant/ivy-user/105d2bxpyy/refreshing-ivy-cache-after-changing-a-published-version答案 0 :(得分:2)
Ivy中没有专用代码可以删除缓存中只有一个模块的条目。
但是使用常规Ant任务很容易。假设你有默认模式的默认缓存,这里有一段build.xml,它将删除公司foo
模块com.acme
的缓存:
<delete dir="${user.home}/.ivy2/cache/com.acme/foo" />
答案 1 :(得分:0)
这个适合我的解决方案:
<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中轻松地从缓存和存储库中添加要删除的特定文件夹。