2017-08-02 51 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

相关问题