Gradle在执行阶段动态添加和执行任务

标签 gradle

我需要在Gradle的执行阶段创建并执行任务。

目前,在构建任务期间,我确定并创建多个任务,并将其添加到任务容器中,使用:

tasks.add([名称: "$taskName", 类型: "$taskType"], {...})

然后在添加所有任务后,我使用以下命令依次执行它们:

任务["$taskName"].execute()

第一次执行时出现以下错误:

> 任务工件状态缓存 (.../.gradle/1.5/taskArtifacts) 尚未锁定。

我做错了什么,有没有更好的方法在执行过程中动态添加任务?

最佳答案

所有任务和任务依赖关系都必须在配置阶段声明。它们不能在执行阶段添加。此外,不支持调用 task.execute()(并且会导致问题)。任务可以依赖其他任务,但不能调用它们。

关于Gradle在执行阶段动态添加和执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16337126/

相关文章:

gradle - 设置系统属性org.gradle.java.home不利于开始Gradle构建

testing - 渐变 : java tests ran twice

android - 无法解析支持 fragment 和运行时

Android BuildConfig 字段生成字符串不正确

android - Gradle 任务可自动执行来自 Firebase App Distribution 开发版本的 gradle 中提交消息的发行说明

java - Gulp + Angular + Springboot + Gradle + [...]

gradle - 在gradle中创建源代码的zip

gradle:插件任务 `dependsOn` 另一个插件任务时失败

java - 如何使用 dev/prod 配置覆盖 gradle 构建

java - Android Studio错误:任务执行失败:app:transformClassesWithDexForDebug