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

Ivy 參考文檔:Ivy 運作原理

     編輯:Java 相關知識

Ivy 運作流程

模組在不同位置的典型週期

更多細節請參閱 Ant 任務文檔。

一. 配置

Ivy 需配置以解析依賴。通常透過配置檔完成,定義一系列依賴解析器。每個解析器能發現 ivy 檔案和/或制品,提供組織、模組、修訂版本、制品名稱、類型、擴展名等資訊。配置負責指定哪個解析器用於哪個模組,僅取決於環境(如模組和制品位置)。無配置時使用預設配置(用 ivyrep 解析所有模組)。

二. 解析

解析時 Ivy 實際解析模組依賴。首先存取模組 ivy 檔案解析依賴。對檔案中每個依賴,請求適當解析器(根據配置)尋找模組(可能是 ivy 檔或制品)。同時使用快取檔案系統避免重複請求。解析器若為組合(如鏈式或雙重),尋找模組可能實際調用多個解析器。

找到依賴模組後,其 ivy 檔下載到 Ivy 快取。檢查是否有自身依賴,若有則循環遍歷依賴圖。整個遍歷中盡可能快進行衝突管理阻止模組存取。遍歷完整個圖後,請求解析器下載每個依賴對應的、不在快取中且未被衝突管理器排斥的制品,全加入快取。最後在快取生成 XML 報告,讓 Ivy 易知模組依賴而無需再次遍歷圖形。解析後可建立包含快取制品的路徑,或複製到其他目錄結構。

三. 獲取

「獲取」指從快取複製制品到其他目錄結構,透過模式實現(指明檔案從何處複製)。Ivy 使用快取中對應模組的 XML 報告知悉應複製哪些制品。為最佳效能也檢查檔案是否已複製。

四. 從快取生成路徑

某些情況直接使用快取制品更合適。Ivy 能用解析時生成的 XML 報告生成包含所有所需制品的路徑。為 IDE 生成外掛時特別有效。

五. 報告

Ivy 可生成易讀的依賴解析報告,透過簡單 XSL 轉換解析時生成的 XML 報告實現。

六. 發布

Ivy 可發布模組特定修訂版本,供未來解析取得。通常手動或由 CI 伺服器調用。

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