kokoichi206 / springboot

0 stars 0 forks source link

Linter(detekt)の導入 #4

Open kokoichi206 opened 2 years ago

kokoichi206 commented 2 years ago

ktlint ではなく、より広くカバーできる detekt を入れてみる

Links

kokoichi206 commented 2 years ago

detekt{} 拡張の部分で source 設定が使えない

gradle plugin のなかの detekt{} 拡張の部分で source 設定が使えなかった。 これは、ver1.18 から呼び方が変わったからであり、17 以前は input と呼ばれてたらしい

detekt {
    input = files(".")
    autoCorrect = true
}
kokoichi206 commented 2 years ago

保存時

保存時にフォーマットしてくれる IntelliJ IDEA のプラグインもあるっぽいけど、設定を浸透させるのしんどそう?

kokoichi206 commented 2 years ago

Rules

Rules の設定ファイル生成

カスタマイズするルールだけの指定は無理かも。そのため、全ルールを yml ファイルに記述する必要がある。 以下コマンドを打ち込むと、デフォルトの設定値が config/detekt/detekt.yml生成される

./gradlew detektGenerateConfig

コメント

NoTabs

  NoTabs:
    active: true
    autoCorrect: true
kokoichi206 commented 2 years ago

CI

こんなんで一旦

name: detekt_checker
on:
  workflow_dispatch:

jobs:
  detekt:
    runs-on: ubuntu-latest
    steps:
      - name: Check out
        uses: actions/checkout@v2

      - name: Set up JDK 11
        uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'

      - name: Run Detekt Lint
        run: |
          cd book-manager && ./gradlew detekt
      - name: Check whether if error found
        run: |
          cat book-manager/build/reports/detekt/detekt.txt |\
           wc -l | awk '$0 != 0 {exit 1}'