首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Ivy 參考文檔:Ant 任務詳解 - buildlist 建構清單任務

     編輯:Java 相關知識

buildlist 任務概述

buildlist 任務用於取得根據 Ivy 依賴資訊由小到大排序的檔案(通常是 build.xml)列表,或相反順序(1.2 版後)。此任務結合 subant 建構相關專案集合時特別有效,可確保依賴在其他依賴它的模組之前被建構。

核心功能演進

  • 模組的 ivy.xml 不包含修訂版本號時,依賴上定義的 rev 屬性不被使用
  • 包含修訂版本號時,修訂版本號將被使用;若與依賴描述不符,記錄警告並視為不同模組
  • 1.3 版:root 屬性可選擇依賴 root 模組的模組,可搭配 excluderoot 排除 root 本身
  • 1.4 版:leaf 屬性可選擇依賴 leaf 模組的模組,可搭配 excludeleaf 排除 leaf 本身;執行後 ivy.sorted.modules 屬性將在 Ant 中設定為排序好的模組列表
  • 2.0 版:root 和 leaf 可為多個模組名;預設合併循環依賴模組;可限制結果為直接依賴;新增 restartFrom 屬性指定建構起始點

屬性完整表

屬性描述必要預設值
reference要設定的路徑引用是-
ivyfilepath從檔案到對應 ivy 檔案的相對路徑否${ivy.buildlist.ivyfilepath}
root視為建構列表根的模組名(可多個,2.0 起;1.3 起單一)否無 root(所有模組)
excluderoottrue 排除定義的 root(1.3 起)否false
leaf視為建構列表葉的模組名(可多個,2.0 起;1.4.1 起單一)否無 leaf(所有模組)
onlydirectdeptrue 限制為 root 直接依賴或直接依賴 leaf 的模組(2.0 起)否false
delimiterroot 和 leaf 中多個模組名的分隔符(2.0 起)否逗號 (,)
excludeleaftrue 排除定義的 leaf(1.4.1 起)否false
haltonerrortrue 遇無效 ivy 檔案時中止建構,false 繼續否true
skipbuildwithoutivy已棄用,請用 onMissingDescriptor。true 跳過無對應 ivy 檔案的檔案否false
onMissingDescriptor找不到模組描述檔時的處理動作(2.0 起):head/tail/skip/warn/fail否'head'
reversetrue 取得倒序列表(從最多依賴到最少)否false
restartFrom視為建構列表起點的模組名(2.0 起)否無 restart point
settingsRef必須使用的 Ivy 設定引用(2.0 起)否'ivy.instance'

內嵌元素:fileset

用於選擇要排序的檔案集合。

使用範例

1. 基本用法

<ivy:buildlist reference="build-path">
  <fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>

根據相同層級的 ivy.xml 排序 build.xml 列表,然後可用於 subant:

<subant target="build" buildpathref="build-path" />

2. 自訂 ivy 檔案路徑與反序

<ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" reverse="true">
  <fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>

根據 build 檔案相對的 ivy 目錄下的 ivy.xml 排序,列表從最多依賴到最少排序。

3. 指定 root 模組

<ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" root="myapp">
  <fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>

只有 myapp 的依賴模組(直接或間接)的 build.xml 會被放入結果列表。

4. 指定 leaf 模組

<ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" leaf="mymodule">
  <fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>

只有依賴 mymodule 的模組(直接或間接)的 build.xml 會被放入結果列表。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved