Androidプロジェクトのベースラインlintファイルを作成しようとしています。私は私のメインモジュールのbuild.gradleに設定したブロックを持っている:Android Lintベースラインで相対パスを強制する方法
lintOptions {
<some includes/excludes>
baseline file("lint-baseline.xml")
checkAllWarnings true
warningsAsErrors true
abortOnError false
}
私はその後、./gradlew lint<flavor/variant>
でベースラインを作成し、糸くずに依存するように私のユニットテストのタスクを設定しています。
しかし、これにより、いくつかの絶対パスを含むベースラインファイルが生成されます。犯人は、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"/>
がどのように相対パスを使用してベースラインを作成するために、糸くずを強制できますか?
これは問題a)は解決しているようですが、問題b)は解決していないようです。私はまだgradleビルドキャッシュで発生するエラーを取得しています – karl
gradleビルドキャッシュは、あなたのプロジェクトの外にあります。ビルドキャッシュ –
でローカライズされた、ファイルに対してリレイティブパスを使用することはできません。この解決策は間違っています。 lintは現在のモジュールにないファイルに相対パスを入れます –