Sky's blog

          我和我追逐的夢(mèng)

          常用鏈接

          統(tǒng)計(jì)

          其他鏈接

          友情鏈接

          最新評(píng)論

          ivy中文參考文檔(2)-術(shù)語


              在ivy中使用了很多術(shù)語,他們的定義如下:

              * Organisation / 組織
              * Module / 模塊
              * Module Descriptor / 模塊描述符
              * Artifact / 制品
              * Type of an artifact / 制品類型
              * Artifact file name extension / 制品文件擴(kuò)展名
              * Module Revision / 模塊修訂本
              * Branch / 分支
              * Status of a revision / 修訂本狀態(tài)
              * Configurations of a module / 模塊配置
              * Ivy Settings / ivy設(shè)置
              * Repository / 倉(cāng)庫(kù)

          一. 概述

              下面的插圖展示了所有的關(guān)鍵術(shù)語:

              http://ant.apache.org/ivy/history/2.1.0-rc1/images/ivy-terminology.png

          二. Organisation / 組織

              組織可以是公司,個(gè)人,或者僅僅是任何開發(fā)軟件的一組人。原則上,ivy僅處理單一級(jí)別的組織,這意味著他們?cè)趇vy模塊描述符中擁有一個(gè)扁平的命名空間。因此,如果使用分層的命名習(xí)慣,用ivy的描述符只能描述樹形組織結(jié)構(gòu)。組織名用來將同一個(gè)團(tuán)隊(duì)生產(chǎn)的軟件保持一致,僅僅是幫助定位他們發(fā)布的。
          作品。

              在ivy中通常使用反轉(zhuǎn)的域名作為組織名,因?yàn)橛蛎仟?dú)一無二的。域名為www.example.com的公司可以使用com.example,或者如果他們有多個(gè)團(tuán)隊(duì),他們的組織名可以以com.example開頭(例如com.example.rd, com.example.infra, com.example.services)。組織名并不強(qiáng)制要求一定要是域名反轉(zhuǎn),或者全局唯一,但是唯一的名字是高度推薦的。被廣泛認(rèn)可的商標(biāo)或者商業(yè)名的擁有者可以選擇使用他們商標(biāo)名。如org.apache, ibm, jayasoft

              注意ivy的“組織”非常類似maven POM 中的"groupId"。

          三. Module / 模塊

              模塊是一個(gè)完備的可重用的軟件單元,帶有一個(gè)修訂版控制方案。

               ivy僅關(guān)心模塊的發(fā)布比如大家熟知的"artifacts",還有用于表示他們的模塊描述符。這些發(fā)布,包括模塊的每一個(gè)修訂版本,在倉(cāng)庫(kù)中管理。換句話說,對(duì)于ivy,一個(gè)模塊就像一個(gè)修訂版本鏈,每個(gè)修訂版本由一個(gè)描述符和一個(gè)或多個(gè)artifact構(gòu)成。例如:hibernate-entitymanager, ant

          模塊描述符
              模塊描述符是識(shí)別模塊的一般方法:識(shí)別符(組織,模塊名,分支和修訂版本),已發(fā)布的制品,可能的配置和依賴。

              在ivy中最通用的模塊描述符是Ivy Files,帶有ivy特定語法的xml文件,通常被稱為ivy.xml。

              但是既然ivy同樣兼容maven2的原數(shù)據(jù)格式(名為pom, Project Object Model, 項(xiàng)目對(duì)象模型), pom文件也可以作為模塊描述符使用。

              而且由于ivy支持可插入式的模塊描述符解析器,因此幾乎可以使用任何東西作為模塊描述符。

          四. Artifact / 制品

              制品是一個(gè)為模塊修訂版本的發(fā)布而準(zhǔn)備的單獨(dú)文件,作為開發(fā)的一個(gè)產(chǎn)品。

              通常推薦使用壓縮包格式,因?yàn)槿菀坠芾恚瑐魉秃痛鎯?chǔ)。同樣的理由,通常一個(gè)模塊只有一個(gè)或者很少的制品。無論如何,制品可以是任意文件類型,在一個(gè)單獨(dú)的模塊中可以申明任意數(shù)量。

              在java的世界種,通常的制品是Java archives 或者說jar文件。在很多情況下,模塊的每個(gè)修訂版本只發(fā)布一個(gè)制品(例如 jakarta-log4j-1.2.6.tar.gz), 但是他們中的一些發(fā)布多個(gè)制品,取決于模塊的使用。(像 apache-ant 二進(jìn)制和源文件,分別打包為zip, gz 和bz2 格式).例如: ant-1.7.0-bin.zip, apache-ant-1.7.0-src.tar.gz

          制品類型

              制品類型是一個(gè)特別類型的制品范例的范疇(翻譯的很暈,原文:The artifact type is a category of a particular kind of artifact specimen.)。 這是基于制品的已制定計(jì)劃或者制品如何提供的分類法,而不是包的格式類型或者制品如何發(fā)布。

              雖然制品的類型可能暗示它的文件格式,但是他們是兩個(gè)不同的概念。制品的文件擴(kuò)展名和它的格式聯(lián)系更緊密。例如,Java archives的情況,制品類型"jar"顯示它確實(shí)是一個(gè)Java archive文件,符合JAR文件規(guī)范。它的文件擴(kuò)展名只是湊巧也是"jar"。另一方面,對(duì)于源文件發(fā)布包,制品類型可能是"source",雖然文件擴(kuò)展名可以是"tar.gz", "zip", "java", "c", 或 "xml"。所以,制品類型基本上是用來解釋它的目的的抽象功能類別,而制品文件擴(kuò)展名是更加具體的技術(shù)上的文件格式和名稱的標(biāo)記。

              定義模塊的適當(dāng)?shù)闹破奉愋陀砷_發(fā)組織決定。通常的選擇包括: "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", 等等.

              模塊描述符不是真正的制品,但是他們可以作為一個(gè)制品類型,比如"descriptor"(ivy file 或者 Maven POM).

              電子簽名或者摘要本身不是真正的制品,但是他們可以再倉(cāng)庫(kù)中被找到。他們也被作為一種制品類型,例如"digest" (md5 or sha1)。

          五. 模塊修訂本和狀態(tài)

          模塊修訂本

              模塊的每一個(gè)被發(fā)布的唯一狀態(tài)都被分配一個(gè)唯一的修訂本編號(hào)或者版本名。ivy可以幫助為模塊的發(fā)布生成修訂本編號(hào),并將修訂本發(fā)行到倉(cāng)庫(kù)中,但是修訂本控制的其他方便,尤其是源文件修訂,必須由單獨(dú)的版本控制系統(tǒng)管理。

              因此,對(duì)于ivy,修訂本經(jīng)常對(duì)應(yīng)模塊的一個(gè)發(fā)布版本。它可以是public, shared 或 local delivery,一個(gè)發(fā)布,一個(gè)里程碑或者一個(gè)集成構(gòu)造,一個(gè)alpha或者bata版本,一個(gè)nightly build, 或者甚至是一個(gè)持續(xù)構(gòu)造。它們都被ivy視為修訂本。

              在某些情況下,源文件控制系統(tǒng)的源文件修訂本編號(hào)可以被用來作為模塊的修訂本編號(hào),但是這種用法非常少見。它們是兩個(gè)不同的概念,即使模塊的修訂本編號(hào)是完全或部分從源文件修訂本編號(hào)中復(fù)制過來。

          分支

              分支對(duì)應(yīng)于源文件控制管理工具中的分支(有時(shí)是stream/流)的標(biāo)準(zhǔn)含義。head, 或者trunk, 或者main stream都被ivy視為分支。

          修訂本狀態(tài)

              模塊的狀態(tài)顯示模塊的修訂本的穩(wěn)定程度。它被用來統(tǒng)一所有模塊依賴的狀態(tài),防止在模塊的release中使用依賴的集成修訂本。

              ivy默認(rèn)定義三種狀態(tài)

              * integration/集成: continuous build,nightly build等產(chǎn)生的修訂本歸于此類
              * milestone/里程碑: 發(fā)布給公眾但是還沒有真正完成的修訂本歸于此類
              * release/發(fā)行: 完整測(cè)試并被打好標(biāo)簽的修訂本歸于此類

              在1.4版本之后,這個(gè)列表可以在settings file/設(shè)置文件中配置。

          六. 模塊配置

              模塊配置是使用或者構(gòu)建一個(gè)模塊的方法。如果同一個(gè)模塊有不同的依賴,基于如何使用,在ivy中這些不同的依賴組合被稱為它的配置。

              一些模塊可能以不同的方式被使用(考慮hibernate,可以在應(yīng)用服務(wù)器內(nèi)部或者外部使用),而這種方式可能改變你需要的制品(這種情況下的hibernate, jta.jar僅僅當(dāng)它被在應(yīng)用服務(wù)器外部使用時(shí)才需要)。此外,模塊可能僅僅在build時(shí)需要一些其他模塊或者制品,而在運(yùn)行時(shí)需要其他一些。所有這些不同的使用或者構(gòu)建模塊方式在ivy中被稱為模塊配置。


              更多配置和他們?cè)趇vy中如何被使用的細(xì)節(jié),請(qǐng)參考主要概念的頁面。

          七. ivy設(shè)置

            ivy設(shè)置文件是xml文件,用于配置ivy來指示從哪里可以找到模塊和如何找到模塊。

          設(shè)置的歷史

              在ivy2.0之前,設(shè)置文件被稱為配置文件,通常名為為ivyconf.xml。這導(dǎo)致了模塊配置和ivy配置文件之間的混淆,因此被重命名為配置文件。如果你偶爾發(fā)現(xiàn)ivyconf文件,或者某些被稱為配置文件的東西,大多數(shù)情況下都只是因?yàn)樗菦]有更新的信息(文檔,指南和文章). 可以隨便報(bào)告任何類似這樣的問題,如果你在這封文檔中發(fā)現(xiàn)這樣的不一致。

          八. 倉(cāng)庫(kù)

              在ivy中,被稱為倉(cāng)庫(kù)的是ivy用來發(fā)現(xiàn)你要求的模塊的制品和描述符的分布站點(diǎn)位置(也就是大多數(shù)情況下的ivy文件)。ivy可以使用非常精巧的配置的復(fù)雜倉(cāng)庫(kù)。你可以使用Dependency Resolvers來做這些。

          posted on 2009-05-25 13:09 sky ao 閱讀(2522) 評(píng)論(5)  編輯  收藏 所屬分類: project building

          評(píng)論

          # re: 初學(xué)Ivy(2)-術(shù)語 2009-05-25 14:25 聊天室

          這是啥語言啊! 聽都沒聽過!  回復(fù)  更多評(píng)論   

          # re: 初學(xué)Ivy(2)-術(shù)語 2009-05-25 15:08 sky ao

          暈,不是語言,是ant的一個(gè)子項(xiàng)目,功能類似maven,做依賴管理之類的。  回復(fù)  更多評(píng)論   

          # re: ivy中文參考文檔(2)-術(shù)語[未登錄] 2011-11-29 14:23 cjj

          想請(qǐng)問組織名可以隨便起嗎?我是想用ivy來獲取持續(xù)集成的artifacts發(fā)布的bin.zip包,但總是提示找不到模塊,我想請(qǐng)問模塊名又是怎么定義的,組織名和模塊名是起什么作用的?  回復(fù)  更多評(píng)論   

          # re: ivy中文參考文檔(2)-術(shù)語 2011-12-02 16:08 sky ao

          ivy對(duì)組織名和模塊名的定義,基本是遵循maven的定義。通常組織名推薦用域名反轉(zhuǎn)的方式,模塊名沒有特別要求。  回復(fù)  更多評(píng)論   

          # re: ivy中文參考文檔(2)-術(shù)語[未登錄] 2013-05-11 22:40 iliveido

          樓主翻譯得很好給力,感謝!  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 大丰市| 尼玛县| 横山县| 仪陇县| 楚雄市| 嘉义市| 简阳市| 铁岭县| 娄底市| 旌德县| 湾仔区| 华蓥市| 隆子县| 贞丰县| 平谷区| 诸城市| 德清县| 大同市| 额尔古纳市| 南城县| 忻城县| 扶风县| 宜宾市| 安义县| 安平县| 温州市| 乌拉特后旗| 东城区| 兴山县| 布尔津县| 墨脱县| 定南县| 琼中| 凤庆县| 阳东县| 鄂托克旗| 宜丰县| 岗巴县| 女性| 来安县| 福泉市|