按照这个答案(对我来说,顺便说一句)和javadocs,我尝试了
gradle.startParameter.consoleOutput = org.gradle.api.logging.configuration.ConsoleOutput.Rich
Run Code Online (Sandbox Code Playgroud)
在我的~/.gradle/init.gradle
。但是,我仍然需要--console=rich
获得颜色输出。为什么?
经过Gradle 2.14.1和3.2.1测试。
终端是cygwin urxvt,TERM变量设置为rxvt-unicode-256color。
从Gradle 4.3开始,您可以在中使用org.gradle.console
property gradle.properties
:
org.gradle.console=rich
Run Code Online (Sandbox Code Playgroud)
新的控制台详细模式将打印所有任务的结果(例如
UP-TO-DATE
),例如Gradle 3.5和更早的版本。您可以通过--console=verbose
或通过新的Gradle属性进行设置org.gradle.console=(plain rich verbose)
。
我不确定您是否可以从 gradle 脚本强制使用丰富的控制台,因为检测可能发生在解释脚本之前。
NativeServices 类提供与控制台的集成。如果你查看源代码,日志中可能会打印两条消息:
Native-platform terminal integration is not available. Continuing with fallback.
Unable to load from native-platform backed ConsoleDetector. Continuing with fallback.
后者可能会为您提供更多信息。尝试使用 运行 gradle 脚本--debug
。您可能会发现您缺少一个本机库,该库在 cygwin 中不可用,或者在库路径上不可用。
我相信当您从命令行指定丰富的控制台时它会起作用,因为即使控制台不表明它支持颜色,gradle也会强制使用颜色。
如果您不在 Windows 本机命令行中使用 cygwin 控制台或 GitBash,它还能工作吗?
有一个解决方法可以让您完成这项工作。您可以在 cygwin 中创建一个别名,该别名将始终添加--console=rich
.
如果您使用 gradle 包装器,则可以编辑gradlew
脚本并添加命令行参数。为了使其自动化,您可以更改wrapper
任务以更改零件中的脚本doLast
。
归档时间: |
|
查看次数: |
1831 次 |
最近记录: |