1) publish
發(fā)行當(dāng)前模塊的制品和已解析的描述符(已交付的ivy文件)。
這個(gè)任務(wù)的目的是發(fā)行當(dāng)前模塊描述符和它的聲明的發(fā)行制品到倉(cāng)庫(kù)中。
所有制品必須在這個(gè)任務(wù)調(diào)用前創(chuàng)建。它不會(huì)自己創(chuàng)建制品,而是只期望能在制品正則表達(dá)式之處的地方找到他們。
目標(biāo)倉(cāng)庫(kù)通過(guò)在當(dāng)前ivy設(shè)置中聲明的解析器的名字來(lái)給出。查閱設(shè)置文件來(lái)獲取解析器支持制品發(fā)行的細(xì)節(jié)。
同時(shí)也發(fā)行已交付的ivy文件(除非你不想),并且甚至?xí)eliver它,如果ivy文件沒(méi)有在上一次delever調(diào)用時(shí)交付或者forcedeliver被設(shè)置為true。這是為什么這個(gè)任務(wù)有很多只是為deliver有用的參數(shù)。看下面的插圖:
從1.4.1起,source artifact pattern 可以通過(guò)使用task的屬性(artifactspattern)或者使用內(nèi)嵌制品元素列表(看下面的例子)來(lái)指定。
2) 屬性
屬性
| 描述 | 必要 |
organisation |
要發(fā)行的模塊的組織名稱
|
不。默認(rèn)為${ivy.organisation}或者最近解析的模塊組織名稱。 |
module |
要發(fā)行的模塊的名稱
|
不。默認(rèn)為${ivy.module}或者最近解析的模塊名稱。
|
revision |
要發(fā)行的模塊的修訂版本,并且也是已經(jīng)發(fā)行的修訂版本除非pubrevision被設(shè) |
不。默認(rèn)為${ivy.revision}或者最近解析的模塊修訂版本。
|
artifactspattern |
用于查找要發(fā)行的制品的正則表達(dá)式
|
不。默認(rèn)為
${ivy.publish.src.artifacts.pattern} |
resolver |
用來(lái)發(fā)行的解析器的名稱
|
是
|
pubrevision |
用于發(fā)行的修訂版本
|
不。默認(rèn)為 ${ivy.deliver.revision} |
pubbranch |
用于發(fā)行的分支
|
不。默認(rèn)為 ${ivy.deliver.branch} |
forcedeliver |
true強(qiáng)制隱式的調(diào)用deliver,false僅當(dāng)用于發(fā)布的ivy文件不存在時(shí)才這樣做,從1.4起 |
不。默認(rèn)為 false |
update |
true 在發(fā)行前更新ivy文件metadata(revision, branch, publication date 和
status),false相反。當(dāng)在publish前使用delive時(shí)這個(gè)通常不是必須的。 |
不。默認(rèn)為 false |
validate |
true強(qiáng)制使用ivy.xsd做ivy文件驗(yàn)證,false強(qiáng)制不做驗(yàn)證。
|
不. 默認(rèn)使用ivy默認(rèn)值 (在 settings file中設(shè)置) |
replacedynamicrev |
true 在交付的文件中使用靜態(tài)修訂版本替換動(dòng)態(tài)修訂版本,false 則避開(kāi)這個(gè)替換,從1.3起
|
不。默認(rèn)為 true |
publishivy |
true 發(fā)行交付的ivy文件,false則不
|
不。默認(rèn)為 true |
conf |
用于發(fā)行的配置列表,逗號(hào)分隔
|
不。默認(rèn)為所有配置。 |
overwrite |
true 覆蓋倉(cāng)庫(kù)中的文件如果這個(gè)修訂版本已經(jīng)存在,false 保持原狀
|
不。默認(rèn)為 false |
warnonmissing |
true 當(dāng)要發(fā)行的制品找不到時(shí)發(fā)出警告
|
不。默認(rèn)為 true |
haltonmissing |
true 當(dāng)要發(fā)行的制品找不到時(shí)終止構(gòu)建 |
不。默認(rèn)為 true |
srcivypattern |
用于查找要發(fā)行(而且如果必要甚至是deliver)的ivy文件的正則表達(dá)式,從1.2起 |
不。默認(rèn)為 artifactspattern 的值
|
pubdate |
用于交付的發(fā)行日期,如果必要。這個(gè)日期可以是'now',或者是通過(guò)以下模式的給出的時(shí)間: yyyyMMddHHmmss |
不。默認(rèn)為 'now' |
status |
the status to use for the delivery, if necessary
用于交付的status,如果需要 |
不。默認(rèn)為 ${ivy.status} |
delivertarget |
用于遞歸交付的需要調(diào)用的target |
不。默認(rèn)不做遞歸交付。
|
settingsRef |
必須被這個(gè)任務(wù)使用的ivy設(shè)置的引用(從2.0起)
|
不,默認(rèn)使用'ivy.instance' |
3) 示例
<ivy:publish resolver="local" pubrevision="1.0">
<artifacts pattern="1/[artifact].[ext]" />
<artifacts pattern="2/[artifact].[ext]" />
</ivy:publish>
使用local解析器用修訂版本1.0來(lái)發(fā)行最后解析的模塊,在目錄1和2中查找制品。