`gradle.taskGraph.useFilter`没有执行

时间:2013-09-05 23:57:25

标签: gradle

我在build.gradle中有以下内容:

def shouldExecute = { taskName ->
    def propertyName = "${taskName}.dryrun"

    !project.hasProperty(propertyName) || project[propertyName] != 'true'
}

gradle.taskGraph.useFilter({ task ->
    println("*********************** ${task.name}: ${shouldExecute(task.name)}")
    shouldExecute(task.name)
} as Spec)

但是当我运行gradlew -Ptest.dryrun=true clean build时,我看不到println的输出,test任务仍然执行。为什么useFilter不起作用?

1 个答案:

答案 0 :(得分:1)

这对我来说很好。我在上面的脚本中添加的内容只有task test。然后我运行了gradle test,有无-Ptest.dryrun=true。两次我都得到了预期的输出和行为。我想不出有什么理由不适合你。我建议从小开始(我确信它会在那种情况下起作用)并逐渐添加回来,直到它停止工作。希望这会引导您解决问题。

相关问题