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

Ivy 中文參考文檔(18):deliver 任務詳解

     編輯:Java 相關知識

deliver 任務交付當前模塊的已解析描述符(生成已解析的 ivy 檔),並可選擇性執行遞歸交付依賴。是發布流程的核心準備步驟。

兩大核心功能

1. 生成已解析的 ivy 檔

  • 基於最後一次 resolve 結果,包含更新後的修訂版本、狀態
  • 所有配置的制品資訊被包含,變量被實際值替換
  • 動態修訂版本被解析過程中找到的靜態版本替換(since 1.3 可關閉)
  • 生成的 ivy 檔可安全用於獲得相同依賴

2. 執行遞歸交付

  • 僅當設定 delivertarget 時觸發
  • 對狀態不足的依賴(如集成版依賴)調用指定 target(通過 antcall)
  • 交付里程碑/發布版本時,會遞歸交付所有集成依賴
  • 遞歸調用時可用屬性:dependency.name、dependency.published.status、dependency.published.version 等

deliver vs publish

deliver 通常不顯式調用,由 publish 隱式觸發。顯式調用場景:

  • 需區分 deliver 產物與 publish 產物
  • 上傳前需處理生成的 ivy 檔(如添加 SCM 標籤、發布用戶資訊)
  • 需觸發遞歸交付並確保獲得遞歸交付後的模塊

典型構建順序:configure → resolve → deliver(遞歸) → resolve(用新ivy) → build → publish

關鍵屬性

屬性說明預設值
deliverpatternivy 檔交付正則${ivy.deliver.ivy.pattern}
pubrevision發布用修訂版本${ivy.deliver.revision} 或解析版本或時間戳
pubbranch發布用分支${ivy.deliver.branch} 或解析分支
status發布狀態${ivy.status}
delivertarget遞歸交付調用的 target無遞歸交付
replacedynamicrev動態版本替換為靜態版本true (since 1.3)
conf包含的配置列表,支援通配符所有配置
generateRevConstraint自動生成 revConstraint 屬性true (since 2.1)

示例:僅交付公共配置

<deliver conf="*(public)" />

掌握 deliver 能精準控制發布流程,支援複雜的多模塊遞歸發布需求。

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