我有一个包含大量发布任务的项目:
Publishing tasks
----------------
generatePomFileForMavenJavaPublication - Generates the Maven POM file for publication 'mavenJava'.
generatePomFileForMavenPublication - Generates the Maven POM file for publication 'maven'.
publish - Publishes all publications produced by this project.
publishMavenJavaPublicationToMavenLocal - Publishes Maven publication 'mavenJava' to the local Maven repository.
publishMavenJavaPublicationToMavenRepository - Publishes Maven publication 'mavenJava' to Maven repository 'maven'.
publishMavenPublicationToMavenLocal - Publishes Maven publication 'maven' to the local Maven repository.
publishMavenPublicationToMavenRepository - Publishes Maven publication 'maven' to Maven repository 'maven'.
publishToMavenLocal - Publishes all Maven publications produced by this project to the local Maven cache.
现在我希望所有这些任务都依赖于 build
,以确保在发布任何内容之前运行测试和检查(默认情况下发布任务依赖于 assemble
)。
当然可以执行以下操作:
publish.dependsOn(build)
publishToMavenLocal.dependsOn(build)
但维护起来很麻烦,并且不适用于任何生成的任务,例如 publishMavenPublicationToMavenRepository
。 有没有办法为所有发布任务添加依赖项? 当然,我尝试了 publishing.dependsOn(build)
但它只是说:
Could not find method dependsOn() for arguments [task ':build'] on org.gradle.api.publish.internal.DefaultPublishingExtension_Decorated@5b5f8cd6.
最佳答案
无法定义组依赖项,但您可以尝试:
tasks.findAll { it.name.startsWith('publish') }*.dependsOn(DA_TASK)
关于gradle - 添加对 gradle 任务组的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560078/