2010-02-05 135 views
4

爲了便於訪問的文件,我有一對夫婦的配置文件中的一系列項目文件夾的母公司。在構建項目時,他們需要複製到其中一個項目源文件夾中,直到構建完成後,我希望將它們刪除。目前,我有這個:刪除螞蟻

<target name="build-java"> 
    <copy file="config.properties" todir="project/src" /> 
    <!-- Build other projects --> 
    <delete file="project/src/config.properties" /> 
</target> 

如果項目建立,哪些工作。唉,爲我的驕傲,他們並不總是。理想情況下,我想下面的Java相當於:

File src = new File("config.properties"); 
File dst = FileUtils.copyFile(src, "project/src"); 
dst.deleteOnExit(); 
// Carry on with the rest of the build, content in the knowledge that whatever happens, the file will die. 

但無論是Copy也不Delete Ant任務似乎勝任這項工作。這似乎不是一個特別模糊的需求?

+0

我覺得這裏更普遍的問題是如何捕捉失敗的Ant目標並執行一個動作 - 不知道答案,但我喜歡這個問題。 – Koobz

回答

3

有像在foreach任務螞蟻的contrib其他東西。如果你能夠安裝它。

+0

+1。但我認爲這些構造對Ant來說是相當陌生的。這就是爲什麼我猜這些都沒有成爲Ant核心。 – Thilo

+0

不幸的是,不能使用ant-contrib,但是這樣做會很好地完成這項工作。謝謝! – MHarris

4

如何每個版本後定義一個「乾淨」的任務,刪除遺留的文件,你可以調用(即使構建失敗)?

我認爲螞蟻是不是非常好,這幾樣條件流控制的事情。可能有一種方法可以完成這項工作,但這可能會變得麻煩,即使構建失敗,您也可以嘗試ant-contrib's trycatch來運行刪除任務。

+0

手動?這讓我覺得比在Project/src中放棄文件更不理想。 – MHarris