如何在Android Lint基线中强制相对路径

时间:2017-12-04 20:52:58

标签: android android-lint

我试图为我的Android项目创建基线lint文件。我在主模块的build.gradle中设置了一个块:

max-width: 768px

然后我使用lintOptions { <some includes/excludes> baseline file("lint-baseline.xml") checkAllWarnings true warningsAsErrors true abortOnError false } 创建基线并设置我的单元测试任务以依赖于lint。

但是,这会给出一个包含一些绝对路径的基线文件。罪魁祸首似乎是a)在子模块中(但只有一些子模块,而不是所有子模块),或b)在我的本地gradle缓存中。当我将基线推送到我们的CI时,会出现一堆新的警告,因为这些路径并不完全匹配。

一些例子包括:

./gradlew lint<flavor/variant>

如何强制lint使用相对路径创建基线?

2 个答案:

答案 0 :(得分:0)

为每个模块使用自己的baseline.xml。路径将相对于模块根目录。

<强>更新 尝试只使用一个 baseline.xml 把它放到像这样的模块上面的根gradle项目

project/app/build.gradle
project/module1/build.gradle
project/build.gradle
project/lint-baseline.xml

在模块的build.gradle中使用这样的代码段

lintOptions {
    baselineFile = rootProject.file('lint-baseline.xml')
}

更新2 为每个模块使用自己的baseline.xml。 paths将相对于模块根目录。 在模块的build.gradle中使用这样的代码片段

lintOptions {
    baselineFile = project.file('lint-baseline.xml')
    checkDependencies = false
}

答案 1 :(得分:0)

您无法使用absolutePaths上的LintConfig选项吗?

android {
  lintOptions {
    absolutePaths false
  }
}