【发布时间】:2014-12-09 17:53:04
【问题描述】:
使用 Gradle 在 Travis CI 上正常构建的示例输出:
https://travis-ci.org/2m/gradle-travis-test/builds/8579228
Gradle 似乎认为控制台具有与普通 ANSI 控制台相同的功能,而实际上它只支持其中的一些功能。具体来说,它似乎支持颜色,但不更新/替换文本(它只是追加)。
如何告诉 Gradle 使用“普通”控制台输出?
【问题讨论】:
使用 Gradle 在 Travis CI 上正常构建的示例输出:
https://travis-ci.org/2m/gradle-travis-test/builds/8579228
Gradle 似乎认为控制台具有与普通 ANSI 控制台相同的功能,而实际上它只支持其中的一些功能。具体来说,它似乎支持颜色,但不更新/替换文本(它只是追加)。
如何告诉 Gradle 使用“普通”控制台输出?
【问题讨论】:
Gradle 会根据 $TERM 环境变量(以及介于两者之间的其他一些层)自动检测终端类型。设置 TERM=dumb 会导致 Gradle 使用纯控制台输出。
在您的 .travis.yml 文件中,您现在应该有如下内容(假设使用了 Gradle 包装器):
install:
- TERM=dumb ./gradlew assemble
script:
- TERM=dumb ./gradlew check
有关示例输出,请参阅此构建:
https://travis-ci.org/embarkmobile/zxing-android-minimal/builds/9639517
【讨论】:
Ralf 的解决方案不再为我工作。相反,我现在正在做:
env:
- TERM=dumb
script:
- ./gradlew assemble -x test
【讨论】:
TERM=dumb ./gradlew ... 解决方案出了什么问题?这当然应该有效,而且它是 WFM。