当引入lint-baseline.xml
文件中没有的新棉绒警告时,我试图使我的持续集成失败。我想将所有棉绒警告都视为错误(因此构建被中止),但是我想要一种方法来指定将某些棉绒检查视为信息或警告级别,以便它们仍出现在棉绒结果中,但不要不会导致构建中止。
这是一个基本上我想做的事的示例(除非这不起作用,如果存在任何不可忽略的警告,构建将失败):
lintOptions {
lintConfig file("lint.xml")
baseline file("lint-baseline.xml")
checkAllWarnings true
warningsAsErrors true
abortOnError true
informational 'MissingTranslation, ...' // don't fail the build for these
}
是否有一种简单的方法将所有 Lint 检查视为错误,但不包括某些检查?我考虑过手动将所有200多个 Lint 检查设置为错误级别,但是这并不是将来的证明,因为每次添加新的 Lint 检查时,我都必须更新列表。
最佳答案
如果不使用Gradle lintOptions
(checkAllWarnings
,warningsAsErrors
等)来配置应将哪些警告视为错误,则应该能够实现所需的目标。请改用lint.xml。在那里,您可以执行以下操作:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="MissingTranslation" severity="warning" />
<!-- The following must be at the bottom of your file!
All lint issues (not listed above) will be treated as errors. -->
<issue id="all" severity="error" />
</lint>
在我的测试中,这似乎运行良好,并且所有警告都被视为错误,但lint.xml顶部列出的警告除外。
但是,我还没有结合lint-baseline.xml对其进行过测试,但我认为没有理由不应该在这里使用它。
关于Android-将所有 Lint 警告设置为错误(某些警告除外),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42707901/