buildlist 任務用於取得根據 Ivy 依賴資訊由小到大排序的檔案(通常是 build.xml)列表,或相反順序(1.2 版後)。此任務結合 subant 建構相關專案集合時特別有效,可確保依賴在其他依賴它的模組之前被建構。
| 屬性 | 描述 | 必要 | 預設值 |
|---|---|---|---|
| reference | 要設定的路徑引用 | 是 | - |
| ivyfilepath | 從檔案到對應 ivy 檔案的相對路徑 | 否 | ${ivy.buildlist.ivyfilepath} |
| root | 視為建構列表根的模組名(可多個,2.0 起;1.3 起單一) | 否 | 無 root(所有模組) |
| excluderoot | true 排除定義的 root(1.3 起) | 否 | false |
| leaf | 視為建構列表葉的模組名(可多個,2.0 起;1.4.1 起單一) | 否 | 無 leaf(所有模組) |
| onlydirectdep | true 限制為 root 直接依賴或直接依賴 leaf 的模組(2.0 起) | 否 | false |
| delimiter | root 和 leaf 中多個模組名的分隔符(2.0 起) | 否 | 逗號 (,) |
| excludeleaf | true 排除定義的 leaf(1.4.1 起) | 否 | false |
| haltonerror | true 遇無效 ivy 檔案時中止建構,false 繼續 | 否 | true |
| skipbuildwithoutivy | 已棄用,請用 onMissingDescriptor。true 跳過無對應 ivy 檔案的檔案 | 否 | false |
| onMissingDescriptor | 找不到模組描述檔時的處理動作(2.0 起):head/tail/skip/warn/fail | 否 | 'head' |
| reverse | true 取得倒序列表(從最多依賴到最少) | 否 | false |
| restartFrom | 視為建構列表起點的模組名(2.0 起) | 否 | 無 restart point |
| settingsRef | 必須使用的 Ivy 設定引用(2.0 起) | 否 | 'ivy.instance' |
用於選擇要排序的檔案集合。
<ivy:buildlist reference="build-path">
<fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>
根據相同層級的 ivy.xml 排序 build.xml 列表,然後可用於 subant:
<subant target="build" buildpathref="build-path" />
<ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" reverse="true">
<fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>
根據 build 檔案相對的 ivy 目錄下的 ivy.xml 排序,列表從最多依賴到最少排序。
<ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" root="myapp">
<fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>
只有 myapp 的依賴模組(直接或間接)的 build.xml 會被放入結果列表。
<ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" leaf="mymodule">
<fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>
只有依賴 mymodule 的模組(直接或間接)的 build.xml 會被放入結果列表。