我需要在Gradle的执行阶段创建并执行任务。
目前,在构建任务期间,我确定并创建多个任务,并将其添加到任务容器中,使用:
tasks.add([名称: "$taskName", 类型: "$taskType"], {...})
然后在添加所有任务后,我使用以下命令依次执行它们:
任务["$taskName"].execute()
第一次执行时出现以下错误:
> 任务工件状态缓存 (.../.gradle/1.5/taskArtifacts) 尚未锁定。
我做错了什么,有没有更好的方法在执行过程中动态添加任务?
最佳答案
所有任务和任务依赖关系都必须在配置阶段声明。它们不能在执行阶段添加。此外,不支持调用 task.execute()
(并且会导致问题)。任务可以依赖其他任务,但不能调用它们。
关于Gradle在执行阶段动态添加和执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16337126/