ivy中文参考文档(21)-ant任务(9)-post resolve tasks
2009-09-22 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佺粯鍔﹂崜娆撳礉閵堝洨纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯閻忓繑鐗楃€氫粙姊虹拠鏌ュ弰婵炰匠鍕彾濠电姴浼i敐澶樻晩闁告挆鍜冪床闂備浇顕栭崹搴ㄥ礃閿濆棗鐦遍梻鍌欒兌椤㈠﹤鈻嶉弴銏犵闁搞儺鍓欓悘鎶芥煛閸愩劎澧曠紒鈧崘鈹夸簻闊洤娴烽ˇ锕€霉濠婂牏鐣洪柡灞诲妼閳规垿宕卞▎蹇撴瘓缂傚倷闄嶉崝搴e垝椤栫偛桅闁告洦鍨扮粻鎶芥倵閿濆簼绨藉ù鐘荤畺濮婃椽妫冨☉娆愭倷闁诲孩鐭崡鎶芥偘椤曗偓瀹曞爼顢楁径瀣珫婵犳鍣徊鍓р偓绗涘洤绠查柛銉墮閽冪喖鏌i弬鎸庢喐闁荤喎缍婇弻娑⑩€﹂幋婵囩亪濡炪値鍓欓悧鍡涒€旈崘顔嘉ч幖绮光偓鑼嚬缂傚倷绶¢崰妤呭箰閹间焦鍋╅柣鎴f绾偓闂佺粯鍔曠粔闈浳涢崘顔兼槬闁逞屽墯閵囧嫰骞掗幋婵愪紑閻庤鎸风粈渚€鍩為幋锔藉亹闁圭粯甯╂导鈧紓浣瑰劤瑜扮偟鍒掑▎鎾宠摕婵炴垶鐭▽顏堟煙鐟欏嫬濮囨い銉︾箞濮婃椽鏌呴悙鑼跺濠⒀傚嵆閺岀喖鎼归锝呯3闂佹寧绻勯崑娑㈠煘閹寸姭鍋撻敐搴樺亾椤撴稒娅婇柡灞界У濞碱亪骞忕仦钘夊腐闂備焦鐪归崐鏇㈠箠閹邦喗顫曢柟鎯х摠婵挳鏌涢幘鏉戠祷闁告挸宕—鍐Χ閸℃浠搁梺鑽ゅ暱閺呮盯鎮鹃悜钘壩ㄧ憸澶愬磻閹剧粯鏅查幖绮瑰墲閻忓秹姊虹紒妯诲鞍婵炲弶锕㈡俊鐢稿礋椤栨氨鐤€闂傚倸鐗婄粙鎰姳閼测晝纾藉ù锝堟閻撴劖鎱ㄥΟ绋垮婵″弶鍔欓獮妯兼嫚閼碱剦妲伴梻浣稿暱閹碱偊宕愭繝姣稿洭寮舵惔鎾存杸濡炪倖姊婚妴瀣啅閵夛负浜滄い鎾跺仜濡插鏌i敐鍥у幋妤犵偞甯¢獮瀣籍閳ь剟鎮楁繝姘拺閻熸瑥瀚崕妤呮煕濡 鍋撻悢鎻掑緧婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繑銇勯幘鍗炵仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煃闁垮鐏﹂柕鍥у楠炴帡宕卞鎯ь棜缂傚倸鍊风粈渚€藝闁秴鏋佸┑鐘虫皑瀹撲線鏌涢埄鍐姇闁稿﹦鍏橀弻娑樷攽閸℃浼€濡炪倖姊归崝鏇㈠煘閹达附鍊婚柛銉㈡櫇鏍¢梻浣告啞閹稿鎮烽敂鐣屸攳濠电姴娲﹂崵鍐煃閸濆嫬鏆熼柨娑欑矒濮婇缚銇愰幒鎴滃枈闂佸憡鐟ユ鎼佸煝閹炬枼鍫柛顐ゅ枔閸樻悂鏌h箛鏇炰户缁绢厼鐖煎畷鎴﹀箻鐠囪尙鐤€婵炶揪绲介幉锟犲磹椤栫偞鈷戠痪顓炴噹娴滃綊鎮跺☉鏍у姦闁糕斁鍋撳銈嗗笒閸燁偊鎯冨ú顏呯厸濞达絽婀辨晶顏堟煃鐟欏嫬鐏撮柟顔界懇瀵爼骞嬮悩杈敇闂傚倷绀佸﹢杈ㄧ仚闂佺濮ょ划搴ㄥ礆閹烘绫嶉柛顐ゅ枎娴犺櫣绱撴担鍓插創妞ゆ洘濞婇弫鍐磼濞戞艾骞堥梻浣告惈濞层垽宕濆畝鍕€堕柣妯肩帛閻撴洟鏌熼懜顒€濡煎ù婊勫劤閳规垿鏁嶉崟顐℃澀闂佺ǹ锕ラ悧鐘茬暦濠靛鏅濋柍褜鍓熼垾锕傚锤濡も偓閻掑灚銇勯幒宥堝厡缂佺姴澧介埀顒€鍘滈崑鎾斥攽閻樿京绐旈柛瀣殔閳规垿顢欑涵鐑界反濠电偛鎷戠徊鍨i幇鏉跨闁瑰啿纾崰鎾诲箯閻樼粯鍤戦柤绋跨仛濮f劙姊婚崒姘偓鐑芥嚄閼哥數浠氭繝鐢靛仜椤曨參宕楀Ο渚殨妞ゆ劑鍊栫€氭氨鈧懓澹婇崰鏍р枔閵婏妇绡€闁汇垽娼ф牎缂佺偓婢樼粔鐟邦嚕閺屻儱绠甸柟鐑樼箘閸炵敻鏌i悩鐑橆仩閻忓繈鍔岄蹇涘Ψ瑜夐崑鎾舵喆閸曨剙纰嶅┑鈽嗗亝缁诲倿锝炶箛娑欐優闁革富鍘鹃敍婊冣攽閳藉棗鐏犻柟纰卞亰閿濈偛顓奸崶鈺冿紳婵炶揪缍侀ˉ鎾诲礉瀹ュ鐓欑紒瀣仢閺嗛亶鏌i敐鍥у幋妤犵偛顑夐弫鍐焵椤掑倻涓嶅┑鐘崇閸嬶綁鏌涢妷鎴濆暟妤犲洭鎮楃憴鍕碍缂佸鎸抽垾鏃堝礃椤斿槈褔鏌涢埄鍏狀亪妫勫鍥╃=濞达絽澹婇崕鎰版煕閵娿儱顣崇紒顔碱儏椤撳吋寰勭€n亖鍋撻柨瀣ㄤ簻闁瑰搫绉堕ˇ锔锯偓娈垮枛閻忔繈鍩為幋锕€鐓¢柛鈩冾殘娴狀垶姊洪崨濠庣劶闁告洦鍙庡ú鍛婁繆閵堝繒鍒伴柛鐕佸灦瀹曟劙宕归锝呭伎濠碘槅鍨抽崢褎绂嶆ィ鍐╁€垫慨妯煎亾鐎氾拷

1) post resolve tasks
在ivy中有几个任务被认为是后解析任务(post resolve task),并相应地共享公用行为和设置。
这些任务是:
* retrieve
* cachefileset
* cachepath
* artifactproperty (since 2.0)
* artifactreport (since 2.0)
所有这些任务都将自动触发resolve,如果:
* 在当前构建中没有任何一个keep属性设置为true的任务被调用
* 组合和模块没有设置
从ivy1.4版本起,有两种方法可以运行resolve :使用ivy文件,或者使用inline模式。当你使用ivy文件调用resolve时,默认会为后面的后解析任务保持被解析的数据。当你运行 inline模式的resolve时,默认不保持数据。你可以通过设置keep属性为你想要的值来覆盖这个行为。
如果你想重用在另外一个构建(或者说不是当前这个)中通过调用resolve而得到的数据,则你不得不设置组织和模块属性。这个仅在从你的最后一次 resolve调用后缓存没有被清理的情况下才能有效工作。在inline调用下这个不能工作,inline必须在同一个构建中完成。
2) 属性
下面列出的属性大部分只在resove自动触发时可用.
属性 | 描述 | 必要 |
conf | 用于retriev的逗号分隔的配置列表,或者是 “*” 从2.0起可以使用 '*(public)' or '*(private)'.注意当inline为true时 '*'做'*(public)'理解。 | 不。默认是最后一次resolve调用使用的设置,或者没有显示调用resolve时是'*' |
inline | true使用inline模式,false解析ivy文件(从1.4版本起) | 不,默认是false |
organisation | 要获取的模块的组织。通常不需要设置,因为默认为最后解析的组织,除了inline模式需要之外。 | 在inline模式下是,其他不是,默认为最后解析的模块的组织。 |
module | 要获取的模块的名称。通常不需要设置,因为默认为最后解析的组织,除了inline模式需要之外。 | 在inline模式下是,其他不是,默认为最后解析的模块的名称。 |
revision | 要获取的模块的版本约束,仅在inline模式下使用。从1.4版本起。 | 不,默认为latest.integration |
branch | 在inline模式下要解析的模块的分支(从2.1版本起) | 在inline模式下默认没有分支,标准模式下无关。 |
transitive | true递归解析依赖,false不递归,从1.4起 | 不,默认为true |
resolveMode | 当自动解析被触发时使用的resolve mode (从2.1版本起) | 不,默认为使用在设置中设置的resolve mode. |
keep | true to keep the results of the automatic resolve in memory, false to discard them. When this is false, the standard ivy properties won't be set and other postresolve-tasks (like retrieve and cachepath) won't be able to resuse the results of this resolve! true在内存中保持自动解析的结果,false抛弃结果。当这个是false时,标准ivy属性不会被设置,而其他postresolve-tasks(如retrieve 和 cachepath)将不能重用这次解析的结果! | 不,inline模式默认是false,而其他情况默认为true |
haltonfailure | true当ivy失败时挂起构建,false继续 | 不,默认为true |
validate | true强制使用ivy.xsd验证ivy文件,false强制不验证。 | 不,默认为ivy默认值(在设置中间中配置) |
refresh | true强制ivy在这次解析过程中解析动态版本,false使用缓存的解析好的版本。从2.1起 | 不,默认为false |
file | 要解析的文件,如果解析式必要的,从2.0起 | 不,默认为前面解析的ivy文件或者默认为${ivy.dep.file} |
settingsRef | A reference to the ivy settings that must be used by this task (since 2.0) 必须被这个任务使用的ivy设置的引用。(从2.0起) | 不,默认使用'ivy.instance' |
resolveId | The id which was used for a previous resolve, or the resolveId if a new resolve is performed (since 2.0) 之前解析使用过的id,或者resolveId如果一个新的解析被执行(从2.0起) | 不,默认为'[org]-[module]'. |
log | 在解析过程中使用的日志设置(从2.0起) 可用选项是: default 默认日志设置,所以通常的消息都被输出到控制台 download-only 除下载消息外其他所以通常消息都失效。所有东西都在缓存的解析将不输入任何消息。 quiet 所有消息失效,除非发生错误,否则整个解析过程保持安静。 | 不,默认为 'default'. |
3) 示例
<ivy:cachepath organisation="emma" module="emma" revision="2.0.4217" inline="true" conf="ant" pathid="emma.classpath"/>
<taskdef resource="emma_ant.properties" classpathref="emma.classpath" />
解析版本为2.0.4217的emma 模块,用对应的制品构造一个ant路径,然后使用这个路径定义emma任务。
更多精彩
赞助商链接