kar*_*arl 5 android android-lint
我正在尝试为我的 Android 项目创建基线 lint 文件。我在主模块的 build.gradle 中设置了一个块:
lintOptions {
<some includes/excludes>
baseline file("lint-baseline.xml")
checkAllWarnings true
warningsAsErrors true
abortOnError false
}
Run Code Online (Sandbox Code Playgroud)
然后,我使用 lint 创建基线./gradlew lint<flavor/variant>并将单元测试任务设置为依赖于 lint。
然而,这给出了包含一些绝对路径的基线文件。罪魁祸首似乎是 a) 子模块中(但只有一些子模块,不是全部),或 b) 我的本地 gradle 缓存中。当我将基线推送到 CI 时,它会出现一堆新警告,因为路径不完全匹配。
一些例子包括:
<location
file="/Users/.../android/<submodule>/src/main/res/values/strings.xml"
line="4"
column="13"/>
<location
file="/Users/.../.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.3/4961194f62915eb45e21940537d60ac53912c57d/auto-value-1.3.jar"/>
Run Code Online (Sandbox Code Playgroud)
如何强制 lint 使用相对路径创建基线?
每个模块使用自己的baseline.xml。路径将相对于模块根目录。
更新 尝试仅使用一个baseline.xml,将其放入模块上方的根gradle项目中,如下所示
project/app/build.gradle
project/module1/build.gradle
project/build.gradle
project/lint-baseline.xml
Run Code Online (Sandbox Code Playgroud)
在模块的 build.gradle 中使用这样的代码片段
lintOptions {
baselineFile = rootProject.file('lint-baseline.xml')
}
Run Code Online (Sandbox Code Playgroud)
UPDATE 2 对每个模块使用自己的baseline.xml。路径将相对于模块根目录。在模块的 build.gradle 中使用这样的代码片段
lintOptions {
baselineFile = project.file('lint-baseline.xml')
checkDependencies = false
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1994 次 |
| 最近记录: |