我正在尝试使用Travis-CI在Bintray上部署Android库。但是当我上传我的回购...我得到了这个:
Ran lint on variant release:发现了6个问题
Ran lint on variant debug: 6 issues found
Wrote HTML report to file:///home/travis/build/leandroBorgesFerreira/MoreCLoseButton/app/build/outputs/lint-results-debug.html
Wrote XML report to file:///home/travis/build/leandroBorgesFerreira/MoreCLoseButton/app/build/outputs/lint-results-debug.xml
:app:lint FAILED
通常我会去我的项目输出并阅读lint-results-debug.html ...但我不知道如何在Travis中访问此文件。
那么,如何在Travis中访问outputs / lint-results-debug.html?
欢迎任何帮助!
编辑
我的.travis.yml:
language: android
jdk: oraclejdk8
sudo: false
addons:
apt:
packages:
- lynx
android:
components:
- platform-tools
- tools
- build-tools-25.0.0
- android-25
- extra-android-m2repository
script:
- if [ -f /home/travis/build/leandroBorgesFerreira/MoreCLoseButton/app/build/outputs/lint-results-debug.html ]; then lynx -dump /home/travis/build/leandroBorgesFerreira/MoreCLoseButton/app/build/outputs/lint-results-debug.html; fi
- ./gradlew -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" build
bintrayUpload --stacktrace --info
env:
global:
- secure: [...]
- secure: [...]
您可以使用lynx -dump
转储outputs/lint-results-debug.html
的纯文本呈现。
要让Travis安装lynx -dump
:在你的.travis.yml
顶部,添加:
addons:
apt:
packages:
- lynx
为了让Travis使用lynx
显示lint输出:在script
的.travis.yml
部分,添加:
after_failure:
- if [ -f /home/travis/build/leandroBorgesFerreira/MoreCLoseButton/app/build/outputs/lint-results-debug.html ]; then lynx -dump /home/travis/build/leandroBorgesFerreira/MoreCLoseButton/app/build/outputs/lint-results-debug.html; fi
虽然sideshowbarker给出了一个通用答案,但我想指出Android lint有一个option for console output,所以你可以在你的build.gradle中做到这一点:
android {
lintOptions {
textReport = true
//textOutput "stdout" // default location, perfect for travis
}
}
这消除了对额外依赖的需要,以及额外的脚本;加上它可以轻松地在本地机器上重现。
人们可以更进一步(如果要避免本地机器上的垃圾邮件控制台)并且这样做
android {
lintOptions {
textReport = project.property("lint.output.console").toBoolean()
}
}
在gradle.properties
:lint.output.console=false
在.travis.yml
:gradlew -Plint.output.console=true build