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...