是的,我確實需要應用'maven'和'artifactory'插件。但是,有許多現有的Jenkins作業顯式調用'uploadArchives'(由maven插件提供)。我想在我自己的插件中重寫這個,當'uploadArchives'被使用時強制它調用'artifactoryPublish'。在gradle插件中,如何用artifactory插件'artifactoryPublish'替換Maven插件'uploadArchives'?
我想在我的插件中以編程方式執行此操作,而不是更改數百個build.gradle文件,並且我嘗試了所有目前爲止沒有運氣可以考慮的每種調用組合。
最後一點需要注意的是,至少要使用Gradle 2.4,因爲正在使用gradle包裝,並且在一組構建中調用了幾個不同版本的gradle。
任何人都有如何完成這個想法?
這是我試過的最新的東西:
project.getTasks()代替( 'uploadArchives',MyTask)
雖然構造函數被調用(由一個println消息驗證),任務本身從未被調用過(通過添加一個明確的'throw'語句並且從未看到異常來驗證)。
你是否必須重寫該任務?補充工作嗎? – RaGe
另外,一旦你成功地構建你的插件,你不必再將你的插件添加到數百個build.gradle文件中嗎? – RaGe
我不希望任何人使用uploadArchives,但可能有幾百個現有的自動作業調用它。所以,如果這些工作能夠調用我的東西,而不必更改所有這些工作,那將會很有幫助。至於添加我的插件,這已經完成 - 我只是改變實現。 –