| 英文術語 | 中文翻譯 |
|---|---|
| Organisation | 組織 |
| Module | 模組 |
| Module Descriptor | 模組描述符 |
| Artifact | 制品 |
| Type of an artifact | 制品類型 |
| Artifact file name extension | 制品檔案擴展名 |
| Module Revision | 模組修訂版本 |
| Branch | 分支 |
| Status of a revision | 修訂版本狀態 |
| Configurations of a module | 模組配置 |
| Ivy Settings | Ivy 設定 |
| Repository | 倉庫 |
關鍵術語關係圖:Ivy 術語圖
組織可以是公司、個人或任何開發軟體的群體。Ivy 處理單一層級組織,在模組描述符中擁有扁平命名空間。若用分層命名習慣,僅能描述樹形結構。組織名用於保持同團隊產出軟體一致性,協助定位發布。
慣用反轉域名作組織名(域名唯一)。www.example.com 公司可用 com.example,多團隊可用 com.example.rd, com.example.infra 等。組織名不強制為反轉域名或全域唯一,但唯一名高度推薦。商標擁有者可用商標名。如 org.apache, ibm, jayasoft。
注意:Ivy「組織」類似 Maven POM 中的「groupId」。
模組是帶有修訂版控制方案的完整可重用軟體單元。Ivy 關心模組發布(制品)及代表它們的模組描述符。這些發布(含每個修訂版本)在倉庫管理。對 Ivy,模組如修訂版本鏈,每版本由描述符和一或多制品構成。例:hibernate-entitymanager, ant。
識別模組的通用方法:識別符(組織、模組名、分支、修訂版本)、已發布制品、可能配置和依賴。Ivy 最通用描述符是 Ivy Files(XML,通常 ivy.xml)。相容 Maven 2 POM 格式,POM 也可作描述符。支援可插入式解析器,幾乎任何東西可作描述符。
制品是為模組修訂版本發布準備的單一檔案,作為開發產品。推薦壓縮格式(易管理、傳輸、儲存)。通常模組僅一或少數制品,但可為任意檔案類型、任意數量。
Java 世界常見制品為 JAR。多數情況每修訂版本僅發布一制品(如 jakarta-log4j-1.2.6.tar.gz),部分發布多制品視用途而定(如 Apache Ant 二進位和原始碼分別打包為 zip, gz, bz2)。例:ant-1.7.0-bin.zip, apache-ant-1.7.0-src.tar.gz。
制品類型是特定種類制品範例的範疇。基於制品既定計劃或如何提供的分類,非封裝格式類型或發布方式。雖類型可能暗示檔案格式,但兩者不同。檔案擴展名與格式聯繫更緊密。例:Java archives 情況,類型 "jar" 顯示確為符合 JAR 規範的 Java archive,副檔名剛好也是 "jar"。原始碼發布包類型可能是 "source",但副檔名可為 "tar.gz", "zip", "java", "c", "xml"。類型基本上是解釋用途的抽象功能類別,副檔名是具體技術格式標記。
適當制品類型由開發組織決定。常見選擇:"jar", "binary", "bin", "rc", "exe", "dll", "source", "src", "config", "conf", "cfg", "doc", "api", "spec", "manual", "man", "data", "var", "resource", "res", "sql", "schema", "deploy", "install", "setup", "distrib", "distro", "distr", "dist", "bundle" 等。模組描述符非真正制品但可作類型如 "descriptor"。電子簽名或摘要非真正制品但可在倉庫找到,作類型如 "digest" (md5 or sha1)。
每個發布唯一狀態分配唯一修訂版本號/版本名。Ivy 可協助生成修訂版本號並發布到倉庫,但其他修訂控制(特別原始碼修訂)須由版本控制系統管理。對 Ivy,修訂版本常對應模組一發布版本:public, shared, local delivery、發布、里程碑、整合建構、alpha/beta、nightly build、持續建構等。源碼控制系統修訂版本號有時可作模組修訂版本號,但極少見,兩者不同概念。
對應源碼控制工具中的分支(有時稱 stream)。head、trunk、main stream 皆視為分支。
顯示修訂版本穩定程度。用於統一所有模組依賴狀態,防止模組 release 使用依賴的整合修訂版本。Ivy 預設三種狀態:
1.4 版後此列表可在 settings file 配置。
模組配置是使用或建構模組的方式。同模組若基於使用方式有不同依賴,這些不同依賴組合在 Ivy 中稱為其配置。例:Hibernate 可在應用伺服器內部或外部使用,方式改變所需制品(外部用時需 jta.jar)。模組可能建構時需某些模組/制品,執行時需其他。所有這些不同使用/建構方式在 Ivy 中稱為模組配置。細節請參考主要概念頁面。
Ivy 設定檔是 XML,配置 Ivy 指示從哪裡找到模組和如何找到。歷史:2.0 前稱配置檔,通常 ivyconf.xml。導致模組配置與 Ivy 配置檔混淆,故重命名。偶發現 ivyconf 或稱配置檔多為未更新資訊,可回報不一致。
Ivy 中倉庫是 Ivy 用來發現要求模組制品和描述符(多數情況 ivy 檔)的分散站點位置。可用極精巧配置的複雜倉庫,透過 Dependency Resolvers 實現。