我有一个复合Gradle(7.x)构建版本,希望编辑根项目Gradle文件以永久阻止执行特定的包含任务。我可以使用-x :included-build:bad-task从命令行成功完成此操作,但无法确定如何在根Gradle脚本中永久完成相同的操作。这些问题的解决方案似乎都不起作用:
-x :included-build:bad-task
wwtsj6pe1#
如果您知道它是如何包含的,则可以将其删除。例如,check依赖于checkstyleTest,可以通过check.dependsOn.remove("checkstyleTest")删除参见此处:https://discuss.gradle.org/t/how-to-remove-a-task-dependency/7481可能需要做一些调查工作来找出它是从哪里引入的。像./gradlew whateverTask --dry-run这样的东西可以用来显示进度。各种临时任务可以用来输出配置信息。
check
checkstyleTest
check.dependsOn.remove("checkstyleTest")
./gradlew whateverTask --dry-run
没有更多的背景,很难准确地了解你的需求。但是,根据你的需求,下面的方法可能会在你的顶级项目中起作用:
gradle.projectsEvaluated { childProjects["included-build"].tasks.build.dependsOn -= "bad-task" }
重点是...
-=
.remove
Removing a task dependency from a task instance is not supported.
使用类似的命令运行此命令,成功地将check从build中删除。childProjects["application"].tasks.build.dependsOn -= "check"
build
childProjects["application"].tasks.build.dependsOn -= "check"
1条答案
按热度按时间wwtsj6pe1#
如果您知道它是如何包含的,则可以将其删除。
例如,
check
依赖于checkstyleTest
,可以通过check.dependsOn.remove("checkstyleTest")
删除参见此处:https://discuss.gradle.org/t/how-to-remove-a-task-dependency/7481
可能需要做一些调查工作来找出它是从哪里引入的。像
./gradlew whateverTask --dry-run
这样的东西可以用来显示进度。各种临时任务可以用来输出配置信息。编辑1
没有更多的背景,很难准确地了解你的需求。但是,根据你的需求,下面的方法可能会在你的顶级项目中起作用:
重点是...
-=
运算符。防止使用.remove
时发生Removing a task dependency from a task instance is not supported.
使用类似的命令运行此命令,成功地将
check
从build
中删除。childProjects["application"].tasks.build.dependsOn -= "check"