Ant內建任務之subant

2021-08-17 11:44:09 字數 1556 閱讀 7954

subant是ant內建任務,用於對所有子構建呼叫指定的target,是ant對於批量專案執行的擴充套件,如果此任務呼叫其所在的檔案,此任務必須在target中。ant1.6起subant在內部使用ant。subant通過目錄設定來執行不同目錄下的構建,提供兩種不同的選擇:1)使用genericantfile屬性對於不同的基本目錄執行相同的構建檔案 /somepath/otherpath/build.xml,在這種情況下,基本目錄分別設定為每個子目錄的路徑;2)使用antfile屬性,執行不同目錄下同名的構建檔案,在這種情況下不會設定基本目錄,可以在每個構建檔案中指定。

antfile:構建檔名,與目錄一起使用,預設為build.xml,如果設定了genericantfile屬性,則忽略此屬性。

buildpath:用於查詢子專案的構建路徑。

buildpathref:構建路徑的引用。

failonerror:產生錯誤時,構建是否失敗,或者繼續執行。

genericantfile:構建檔案路徑,與目錄一起使用。

inheritall:如果為true,會將所有屬性傳遞到新的project,預設為false。如果為false,那麼只有命令列中的引數會被傳遞到新的porject中。無論true還是false傳入新project的屬性都會覆蓋新的project中的屬性,預設為false。

inheritrefs:如果為true,會將所有引用傳遞到新的project,預設為false。

output:寫入ant輸出的檔名。

target:要執行的target名稱。

verbose:在進入/退出每個子構建路徑時啟用/禁用日誌資訊,預設為false。

支援的巢狀元素:

基於檔案系統的資源集合:ant1.7之前只支援fileset、dirset和filelist。

dirset:將目錄新增到隱式構建路徑中。新增到構建路徑中的目錄沒有特定的順序,如果要保證順序,則應使用filelist。

filelist:將檔案新增到隱式構建路徑中。新增到構建路徑中的檔案是有順序的,filelist可以引用不存在的檔案或目錄。

fileset:將檔案新增到隱式構建路徑中。新增到構建路徑中的目錄沒有特定的順序。

property:這些屬性與命令列中定義的屬性等效。無論inheritall為true還是false,這些屬性都會被傳遞。refid指向的是呼叫專案而不是被呼叫的。

propertyset:設定一組屬性。

buildpath:建立巢狀的構建路徑,並將其新增到隱式構建路徑中。

buildpathelement:建立巢狀的構建路徑元素,並將其新增到隱式構建路徑中。

target:ant1.7起,可以使用巢狀target元素替代target來執行多個target,這些target將執行,就像ant被單個的target呼叫,而它的依賴項就是指定順序的target,具有乙個name屬性用於指定要呼叫的target名稱。

file/build.xml

this is file\build.xml,basedir is $

build.xml

Ant內建任務之ant

ant是ant的內建任務,可以用來執行指定的構建檔案,所以可以用來構建子專案。如果呼叫的是同乙個構建檔案,那麼就必須在target中使用ant。antfile 使用的構建檔案,預設為build.xml 其路徑為相對於dir屬性所在的目錄 如果沒有配置antfle屬性,會使用dir屬性指定的目錄下的b...

Ant內建任務之cab

cab是ant內建任務,用於生成微軟的歸檔檔案。它的呼叫類似於jar和zip。執行這個任務需要在可執行路徑上有外部的cabarc工具,這個工具是微軟提供的。cab是乙個隱式的檔案集,支援fileset的大部分屬性並且可以巢狀include exclude和patternset元素。如果巢狀了file...

Ant內建任務之length

length是ant內建任務,ant1.6.3引入,用於顯示或設定乙個字串 檔案 乙個或多個巢狀資源集合的長度,可以作為條件使用。property 要設定屬性的屬性名。如果不設定會將結果寫到日誌中,length作為條件時忽略。file 單個檔案。resource 單個資源。string 字串。mod...