Gradle禁用特定任务的自动子项目执行

Gradle禁用特定任务的自动子项目执行,gradle,build,task,multi-project,Gradle,Build,Task,Multi Project,我有一个多项目的Gradle构建,我定制了“运行”任务,以便在根项目中做一些不同的事情。 但是,我不希望它像现在这样在完成后调用每个子项目的“运行”任务。但是这种行为应该只针对这个任务,我希望其他每个任务都像默认的那样递归执行,但运行任务不是。我也不能禁用每个子项目的全局运行任务,因为它在每个子项目中都有自己执行的目的。 在根 Bug中。 这将检查任务图中的:run。当它存在时,将禁用:abc:run(即子项目任务) rootrun任务的输出示例: $ gradle -q run TRACER

我有一个多项目的Gradle构建,我定制了“运行”任务,以便在根项目中做一些不同的事情。
但是,我不希望它像现在这样在完成后调用每个子项目的“运行”任务。但是这种行为应该只针对这个任务,我希望其他每个任务都像默认的那样递归执行,但运行任务不是。我也不能禁用每个子项目的全局运行任务,因为它在每个子项目中都有自己执行的目的。

在根<代码> Bug中。 这将检查任务图中的

:run
。当它存在时,将禁用
:abc:run
(即子项目任务)

root
run
任务的输出示例:

$ gradle -q run 
TRACER skipping :abc:run because ':run' was specified
TRACER skipping :def:run because ':run' was specified
TRACER executing run for path :
abc
子项目中的
run
任务的输出示例:

$ gradle -q :abc:run 
TRACER executing run for path :abc

在根<代码> Bug .Goelle 中,考虑下面的(完整的例子):

这将检查任务图中的
:run
。当它存在时,将禁用
:abc:run
(即子项目任务)

root
run
任务的输出示例:

$ gradle -q run 
TRACER skipping :abc:run because ':run' was specified
TRACER skipping :def:run because ':run' was specified
TRACER executing run for path :
abc
子项目中的
run
任务的输出示例:

$ gradle -q :abc:run 
TRACER executing run for path :abc