Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 将从属关系添加到渐变任务组_Gradle_Build Process_Build.gradle - Fatal编程技术网

Gradle 将从属关系添加到渐变任务组

Gradle 将从属关系添加到渐变任务组,gradle,build-process,build.gradle,Gradle,Build Process,Build.gradle,我有一个项目,有一系列的发布任务: Publishing tasks ---------------- generatePomFileForMavenJavaPublication - Generates the Maven POM file for publication 'mavenJava'. generatePomFileForMavenPublication - Generates the Maven POM file for publication 'maven'. publish

我有一个项目,有一系列的发布任务:

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
,以确保在发布任何内容之前运行测试和检查(默认情况下,发布任务依赖于
assembly

当然,以下工作:

publish.dependsOn(build)
publishToMavenLocal.dependsOn(build)
但是,它维护起来很麻烦,并且不适用于任何生成的任务,如
PublishMavenPublicationToAvenRepository
有没有办法向所有发布任务添加依赖项?当然,我尝试了
发布。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)

这就是我想要的,谢谢!我以前在什么地方读过它,但忘记了findAll函数。顺便说一下,我提到的任务,如
PublishMavenPublicationToAvenRepository
,没有包含在findAll中。显然,它们是稍后生成的或类似的。我想知道是否有人知道为什么?有些任务在配置期间不存在,只是在以后的阶段。尝试运行
项目中答案中的代码。在评估{//HERE}
后,所有任务都应该出现在那里。