2011-06-13 53 views
12

我看到this有關的問題,但我的情況是不同的,所以再次問這個。基本上,我有12個螞蟻文件,我必須按特定順序運行。對於每個ant文件,我選擇不同的目標,例如「創建」或「構建和部署全部」。我如何創建一個將爲所有這些文件調用正確目標的ant文件?創建一個ant文件來運行其他螞蟻文件

Pseudocode: 

<Call antFile1, "clean"> 
<Call antFile1, "create"> 
<Call antFile2, "build"> 
     . 
     . 
     . 
<Call antfile12, "build and deploy all"> 
+0

在我看來,當一個螞蟻腳本調用另一個螞蟻腳本時,不應該再使用螞蟻。 – 2011-06-13 22:08:38

+0

還有另外一種選擇嗎? – TookTheRook 2011-06-14 15:55:40

+1

您應該使用標準來管理像Maven這樣的項目生命週期。如果你沒有複雜的東西,你會很高興沒有深入的學習。如果你更多地瞭解你的項目,以及關於你的螞蟻腳本的實際情況,我們可以幫助更多。 – 2011-06-15 11:26:11

回答

7

你也可以有進口標籤:

<import file="my_ant_file.xml"> 

然後你可以調用該文件中的螞蟻目標。您可能想要限定(添加前綴)您的目標名稱,以避免模糊不清。

編輯:調用導入文件的Ant目標是完全一樣的調用本地目標:

<antcall target="my_local_target"> 
<antcall target="my_target_from_an_imported_file"> 

您也可以將它們作爲依賴關係:

<target name="my_target" depends="my_target_from_an_imported_file"> 

把它看成與使用任何編程語言進行導入的方式相同。一旦它被導入,您可以將其用作 - 如果它只是您文件中的另一個目標。

這裏是import documentation

+0

一旦我導入了所有的文件,我怎樣才能調用它們的目標?你能給我一個語法的例子嗎? – TookTheRook 2011-06-14 15:46:18

+0

@Mahendru看到我的編輯 – 2011-06-14 20:44:43

+1

問題是,當我從其他ant文件形成一個特定的文件夾,而不是跟隨他們自己的屬性文件,螞蟻文件找不到自master_ant_file(我創建的那個)以來的路徑變量,不存儲路徑變量(因爲每個ant構建具有不同的路徑變量)。如果我在maser_ant_file的屬性文件中放入第一個ant的路徑變量,則第一個構建執行正常,但第二個構建無法找到其路徑。有沒有辦法來解決這個問題? – TookTheRook 2011-06-16 16:39:29