AndroidとかiOSとかモバイル多め。その他技術的なことも書いていきます。

マルチモジュールのプロジェクトでdanger-android_lintを使う

Dangerでandroid lint結果をPR上でコメントしようと思うとdanger-android_lintを使うことになるがマルチモジュールに対応しておらずレポートを1つしか指定できない。

github.com

マルチモジュールに対応する1つの方法はレポートをマージする。

qiita.com

blog.bitrise.io

もう1つの方法が今回採用したやり方で、あらかじめlintを実行しておき、その後にdanger-android_lintではlintの実行をスキップして各レポートからDangerを実行する。こうすることでマージの手間が省けた。

android_lint.skip_gradle_task = true
android_lint.filtering = true
Dir["*/build/reports/lint-results-debug.xml"].each do |file|
  android_lint.report_file = file
  android_lint.lint(inline_mode: true)
end