Gradle 4.0 不在命令行中显示已执行的任务
Posted
技术标签:
【中文标题】Gradle 4.0 不在命令行中显示已执行的任务【英文标题】:Gradle 4.0 does not display executed tasks in command line 【发布时间】:2018-02-03 15:43:39 【问题描述】:当我从终端运行 gradle build
或任何其他 gradle 命令时,我看不到最近执行的任务及其状态(例如 :testClasses UP-TO-DATE
),而只能看到 BUILD SUCCESSFUL
:
但是,当我使用 gradle 插件从 eclipse IDE 运行构建命令时,一切都很好:
我正在使用 Gradle 4.0。有什么建议可以解决吗?
【问题讨论】:
你使用 -q 吗?如果尝试使用 -info 它会写更多信息? @VasileBors -info 部分解决了这个问题,但是输出有点大而且不容易阅读,我只想看看任务层次结构。我解决了这个问题,请参阅下面我自己的答案。干杯。 【参考方案1】:我发现了这个问题。如果您执行gradle --help-
,您可能会注意到选项列表中的--console
选项负责gradle 任务执行期间的输出。由于 gradle v4.0 控制台选项默认设置为 rich 这会导致我使用终端获得输出。基本上使用--console=plain
可以解决问题(例如:gradle --console=plain build
)。
【讨论】:
我已经搜索了将其设为默认值,但找不到一个.. 相反,我使用alias
类似这样的东西:alias gradle='gradle --console=verbose'
echo "alias gradle='gradle --console=verbose'" >> ~/.bashrc
您可以在项目根目录(仅适用于该项目)或 GRADLE_USER_HOME
目录(适用于所有 gradle命令)。属性文件可让您设置默认值,但仍可根据需要通过命令行进行更改。设置别名意味着控制台模式是固定的,除非您重新定义别名。将org.gradle.console=...
添加到属性文件中。有关此内容的完整文档,请参见此处:docs.gradle.org/current/userguide/build_environment.html【参考方案2】:
从 Gradle 4.3 开始,还有另一个选项:--console=verbose
这使用了 4.0 中引入的新的丰富样式输出,但也输出了早期版本中默认的任务标题和结果(:compileJava UP-TO-DATE
等)。它还会为 --console=plain
不做的输出着色。
发行说明中详细介绍了该功能: https://docs.gradle.org/4.3/release-notes.html#new-command-line-options
选项的完整列表: https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_customizing_log_format
【讨论】:
以上是关于Gradle 4.0 不在命令行中显示已执行的任务的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 插件自定义 Gradle 任务 ② ( 在 Terminal 面板中执行 gradlew task 命令显示所有任务 | 命令行输出所有任务 | 单独执行指定任务 )
Android Gradle 插件自定义 Gradle 任务 ② ( 在 Terminal 面板中执行 gradlew task 命令显示所有任务 | 命令行输出所有任务 | 单独执行指定任务 )
Gradle Exec 任务不在远程主机上以 psql 开头
Android Gradle 插件自定义 Gradle 任务 ⑥ ( 执行 Gradle 任务的简化版命令 | 同时执行多个 Gradle 任务的命令 )