detektのバージョン管理に Gradle version catalogを使ってみた

1.2K Views

July 09, 24

スライド概要

After Kotlin Fest 2024 LT Night @Sansan LT登壇時のスライド

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

After Kotlin Fest 2024 LT Night @Sansan #kotlinfest2024̲after̲33 アスクル株式会社 高橋 直樹 2024-07-08

3.

高橋 直樹 / Naoki Takahashi @nemuki̲dev Webアプリケーションエンジニア @アスクル株式会社 2022年 新卒(高専卒) 初めての社外LT!

4.

• 話すこと • detekt のバージョンアップの話 • 話さないこと • detekt、Gradle version catalog の細かい話 • 前提 • detekt を使っている • Dependabot で依存関係のアップデートをしている

6.

• build.gradle.kts 内に3箇所 • detekt Gradle plugin • detekt Formatting • detekt toolVersion

7.

• detekt 本体と detekt Formatting で2つ PR が生まれる • 同タイミングでリリースされるため1つにまとまって欲しい

8.

• detekt toolVersion は検知してくれない • 手動で toolVesion をアップデートする必要がある

9.

• 同じバージョンなのに複数の PR ができる • toolVersion のアップデートが手作業 • GitHub Actions で CI が走るため、無駄に料金が発生する 1つのPRで全部上がらないものか🤔

11.

• gradle/libs.versions.toml にファイルを作成 [versions] detekt = "1.23.5" [libraries] [plugins] detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } libs.versions.toml の中身

12.

• build.gradle.kts を変更 version catalog からバージョンの取得 alias で plugins で定義した依存の取得 version catalog から取得したものを利用

13.

• Dependabot の PR が1つになった! • version catalog の変更のみに • 手作業がなくなってハッピー!

14.

• Gradle version catalog を使うことで、 • detekt のアップデートが1つのPRで完結するようになった! • 手作業を省き、効率化ができた!

15.

• 参考 • Run detekt using the Detekt Gradle Plugin | detekt • Compatibility Table | detekt • Sharing dependency versions between projects