為さねば成らぬ

retia.verno@gmail.com

Android LintのDetectorを読む Day6: MergeMarkerDetector

ソースコード

https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/MergeMarkerDetector.java

Issue

category: CORRECTNESS priority: 8 severity: ERROR

背景

gitでconflictを起こした時の <<<<<<< ======= >>>>>>> が残っていないかをチェックする

適用例

  • analyzeされないライブラリ ではない
  • .gradle .kts .properties .xml
    • 特にコンパイルで壊れないリソースファイルでチェックする目的がある

着目点

様々なファイルを対象にする時、 OtherFileScanner を実装する

getApplicableFiles run を実装する。 getApplicableFiles の返り値として Scope を指定する。 Other と指定しているのは、merge markerが存在するとコンパイルでコケるはずのソースコードを除外する目的があると思われる。