2013-06-25 24 views
0

我們在遠程存儲庫中有一些內部jar,並且不經常構建它們。解析器如下所示:view-snapshots是本地回購站,hub-releases是共享回購站。ivy cleancache,但是特定的文件夾

<chain name="hub-internal-library-chain" returnFirst="true"> 
     <resolver ref="view-snapshots"/> 
     <resolver ref="hub-releases"/> 

    </chain> 

默認情況下,如果開發人員發佈任何它去查看快照cache.We需要守旗

迴歸一線「真」

性能問題。因此,我想刪除緩存(本地)和存儲庫(本地)中的一些特定文件的問題。我是常春藤的新手,任何幫助將不勝感激。

感謝

PS:我已經看了一下這個問題,這是類似mine.But其尚未解決。 http://grokbase.com/t/ant/ivy-user/105d2bxpyy/refreshing-ivy-cache-after-changing-a-published-version

+0

不清楚你爲什麼要從緩存中刪除文件。你爲什麼不清除它?也許你需要檢出解析器上的「changingPattern」屬性。有關此空間中的更多信息,我建議閱讀以下內容:http://ant.apache.org/ivy/history/latest-milestone/concept.html#cache –

回答

2

常春藤沒有專用代碼,只刪除緩存中的一個模塊的條目。

但是,使用常規的Ant任務很容易。假設你有一個默認的模式,這裏一片的build.xml這將刪除該公司com.acme的模塊foo的高速緩存默認緩存:

<delete dir="${user.home}/.ivy2/cache/com.acme/foo" /> 
+1

我修改了您的解決方案以滿足我的需求。我只是想知道如果在常春藤有什麼可以自動完成的話 – stillLearning

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中輕鬆添加要從緩存和存儲庫中刪除的特定文件夾。

相關問題