我想在根项目中创建一个任务,这样当任务执行时,它将在子项目中执行同名任务,只为具有该名称的任务的子项目执行。如何创建递归Gradle任务?
我不想硬编码任务的名称,因为以后可能会添加更多的子项目。
task checkArtifacts
subprojects.findAll { subproject ->
subproject.getTasksByName('checkArtifacts', false)
}.forEach { task ->
checkArtifacts.dependsOn(task)
}
不起作用,因为它看起来像它迫使配置阶段结束,打破一些插件,使配置阶段的变化。
task checkArtifacts
afterEvaluate {
subprojects.findAll { subproject ->
subproject.getTasksByName('checkArtifacts', false)
}.forEach { task ->
checkArtifacts.dependsOn(task)
}
}
发出Could not determine the dependencies of task ':checkArtifacts'.
是的,这是事实。我忘了提及我想要另一个rootProject任务依赖于这个任务。 –