2017-08-02 50 views
0

我使用researchgate's gradle release plugin來執行版本管理,並使用maven-publish插件將生成的工件上傳到專用的Maven存儲庫。當我運行gradle這個釋放小插件的發行任務,它運行下面的子任務(用戶道插件是我的虛擬項目的名稱) -Gradle - 在子任務之前運行現有任務

:user-dao-plugin:createScmAdapter 
:user-dao-plugin:initScmAdapter 
:user-dao-plugin:checkCommitNeeded 
:user-dao-plugin:checkUpdateNeeded 
:user-dao-plugin:unSnapshotVersion 
:user-dao-plugin:confirmReleaseVersion 
:user-dao-plugin:checkSnapshotDependencies 
:user-dao-plugin:runBuildTasks 
:user-dao-plugin:user-dao-plugin:beforeReleaseBuild UP-TO-DATE 
:user-dao-plugin:user-dao-plugin:compileJava 
:user-dao-plugin:user-dao-plugin:processResources 
:user-dao-plugin:user-dao-plugin:classes 
:user-dao-plugin:user-dao-plugin:findMainClass 
:user-dao-plugin:user-dao-plugin:jar 
:user-dao-plugin:user-dao-plugin:bootRepackage 
:user-dao-plugin:user-dao-plugin:assemble 
:user-dao-plugin:user-dao-plugin:compileTestJava 
:user-dao-plugin:user-dao-plugin:processTestResources NO-SOURCE 
:user-dao-plugin:user-dao-plugin:testClasses 
:user-dao-plugin:user-dao-plugin:test 
2017-08-02 20:48:47.430 INFO 27013 --- [  Thread-5] s.c.a.AnnotationConfigApplicationContext : Closing org.spring[email protected]649f626d: startup date [Wed Aug 02 20:48:46 IST 2017]; root of context hierarchy 
:user-dao-plugin:user-dao-plugin:check 
:user-dao-plugin:user-dao-plugin:build 
:user-dao-plugin:user-dao-plugin:afterReleaseBuild UP-TO-DATE 
:user-dao-plugin:preTagCommit 
:user-dao-plugin:createReleaseTag 
:user-dao-plugin:updateVersion 
:user-dao-plugin:commitNewVersion 

我想運行Maven的發佈的publish任務之後check子任務。我正在努力尋找一種方法來做到這一點。

我嘗試設置任務依賴關係,但我沒有得到對check子任務的引用。

我該如何去做到這一點?

+0

這很容易做到,但問題在於如何完成。如果運行「check」,你是否總是希望運行'publish'?你只想手動運行'publish'嗎?如果像'release'這樣的其他任務被觸發,你是否希望'publish'運行? 'publish'取決於'check'的結果,或者你爲什麼需要在那個之後運行它? – Vampire

+0

@Vampire我想在'check'之後運行發佈以使發佈任務也在repo上安裝artifact。 'check'任務就在更新項目版本的任務之前,並且在完成所有構建和測試任務之後,這就是爲什麼我要在它之前執行它。我也希望能夠獨立於'release'運行'publish'。 –

+2

但是不會正確的設置是'publish'取決於'build'(也是在'check'之後),'release'依賴於'publish'?所以如果你運行'release',它會自動發佈,如果你運行'publish',它也可以正常工作,並確保項目是首先構建的? – Vampire

回答

1

@吸血鬼無論順序如何,你可以告訴如何運行publish任何release子任務後?

根據您最後的評論,你是什麼後

release.finalizedBy publish 

或者,也許(你的子任務的用途是混亂的,因爲沒有什麼所謂的搖籃子任務。)

subprojects { release.finalizedBy publish } 

而且您可能還需要

publish.dependsOn build 

subprojects { publish.dependsOn build } 

這樣build總是在publish eben之前運行,如果你沒有release

相關問題