UPDATEAndroid的 - 如何在创建
后taskGraph我可以在运行时获得任务的保持其产生gradle这个任务定义扶养。但我无法完成另一项任务。我使用的代码是:
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"
}
}
}
}
但是,仍然任务 “ciIntegrationTests” 当 “spoonFreeDebugAndroidTest” 失败,没有得到执行。根据我的应用程序香精(println的行获取虽然打印。)
原来的问题
我这是在运行时(当生成的任务图)内置了spoon任务。例如一个任务“spoonFreeAndroidDebugTest”是在运行时生成的,并且在build.gradle中无法访问。
我想在此任务上添加依赖关系,以便即使某些其他任务失败时也执行此任务。我尝试这些方法:
spoon.finalizedBy "ciIntegrationTests"
这给了我这个错误
找不到方法finalizedBy()对[email protected]参数[ciIntegrationTests。
和
spoonFreeAndroidDebugTest.finalizedBy "ciIntegrationTests"
这给了我一个错误
找不到属性 'spoonDeltaAndroidDebugTest'
和
"spoonDeltaAndroidDebugTest".finalizedBy "ciIntegrationTests"
这导致
方法的无签名:java.lang.String.finalizedBy()是适用于参数类型:(java.lang.String中)的值:[ciIntegrationTests]
是有一种方法可以访问在运行时生成的build.gradle中的任务。
没有在您的其他问题的帮助的答案? http://stackoverflow.com/questions/35596011/could-not-find-property-uninstalldebug-on-project – RaGe
@RaGe号我试着'whenReady'导致*找不到属性'spoonFreeAndroidDebugTest'对项目':应用”。*代码片段如下: 'gradle.taskGraph.whenReady {taskGraph - > taskGraph。 如果(taskGraph.hasTask(spoonFreeDebugAndroidTest)){ spoonFreeAndroidDebugTest.finalizedBy “ciIntegrationTests” } }' – Rajkiran
@RaGe我已经更新的问题。 – Rajkiran