gpt4 book ai didi

android - Android-如何定义对创建taskGraph之后生成的gradle任务的依赖

转载 作者:行者123 更新时间:2023-12-03 06:09:55 26 4
gpt4 key购买 nike

更新

我可以在运行时掌握任务。但是我无法完成另一项任务。我使用的代码是:

gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(spoonFreeDebugAndroidTest)) {
for(Task task : project.gradle.taskGraph.allTasks.iterator())
{
if(task.name.startsWith("spoonFreeDebugAndroidTest")) {
println "spoonFreeDebugAndroidTest task found"
ciIntegrationTests.mustRunAfter task.name
task.finalizedBy "ciIntegrationTests"
}
}
}

}

但是,当“spoonFreeDebugAndroidTest”失败时,仍不会执行任务“ciIntegrationTests”。 (虽然println行被打印。)

原始问题

我有一个 spoon任务,该任务是在运行时(生成任务图时)构建的,具体取决于我的应用程序风格。例如任务“spoonFreeAndroidDebugTest”在运行时生成,在build.gradle中无法访问。

我想添加对此任务的依赖关系,以便即使某些其他任务失败,该任务也可以执行。我尝试了以下方法:
spoon.finalizedBy "ciIntegrationTests"

这给我这个错误

Could not find method finalizedBy() for arguments [ciIntegrationTests] on com.stanfy.spoon.gradle.SpoonExtension_Decorated@147456b6.




spoonFreeAndroidDebugTest.finalizedBy "ciIntegrationTests"

这给我一个错误

Could not find property 'spoonDeltaAndroidDebugTest'




"spoonDeltaAndroidDebugTest".finalizedBy "ciIntegrationTests"

导致

No signature of method: java.lang.String.finalizedBy() is applicable for argument types: (java.lang.String) values: [ciIntegrationTests]



有没有一种方法可以访问在运行时生成的build.gradle中的任务。

最佳答案

用任务[“taskName”]包装任务字符串

tasks["spoonDeltaAndroidDebugTest"].finalizedBy tasks["ciIntegrationTests"]

引用:
More About Tasks

关于android - Android-如何定义对创建taskGraph之后生成的gradle任务的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com