如何在Travis CI上获得干净的Gradle输出?

Ral*_*alf 15 gradle travis-ci

使用Gradle在Travis CI上进行正常构建的示例输出:

https://travis-ci.org/2m/gradle-travis-test/builds/8579228

Gradle似乎认为控制台具有与普通ANSI控制台相同的功能,而实际上它只支持其中一些功能.具体来说,它似乎支持颜色,但不支持更新/替换文本(它只是附加).

如何告诉Gradle使用"普通"控制台输出?

Ral*_*alf 22

Gradle根据$ TERM环境变量(以及其间的一些其他层)自动检测终端类型.设置TERM=dumb会导致Gradle使用普通控制台输出.

在.travis.yml文件中,您现在应该具有以下内容(假设使用了Gradle包装器):

install:
  - TERM=dumb ./gradlew assemble

script:
  - TERM=dumb ./gradlew check
Run Code Online (Sandbox Code Playgroud)

有关示例输出,请参阅此构建:

https://travis-ci.org/embarkmobile/zxing-android-minimal/builds/9639517


Ren*_*hke 20

拉尔夫的解决方案停止了为我工作.相反,我现在正在做:

env:
  - TERM=dumb

script:
  - ./gradlew assemble -x test
Run Code Online (Sandbox Code Playgroud)

  • 这很好用,似乎是首选的方法:http://docs.travis-ci.com/user/build-configuration/#Set-environment-variables. (3认同)
  • 你得到了什么问题? (2认同)
  • 这将导致整个脚本具有该变量集,而不仅仅是一个命令,这可能是理想的,也可能不是理想的。TERM = dumb ./gradlew ...解决方案出了什么问题?那当然应该起作用,而且它是WFM。 (2认同)