1.6K Views
July 09, 24
スライド概要
After Kotlin Fest 2024 LT Night @Sansan LT登壇時のスライド
エンジニア
After Kotlin Fest 2024 LT Night @Sansan #kotlinfest2024̲after̲33 アスクル株式会社 高橋 直樹 2024-07-08
高橋 直樹 / Naoki Takahashi @nemuki̲dev Webアプリケーションエンジニア @アスクル株式会社 2022年 新卒(高専卒) 初めての社外LT!
• 話すこと • detekt のバージョンアップの話 • 話さないこと • detekt、Gradle version catalog の細かい話 • 前提 • detekt を使っている • Dependabot で依存関係のアップデートをしている
• build.gradle.kts 内に3箇所 • detekt Gradle plugin • detekt Formatting • detekt toolVersion
• detekt 本体と detekt Formatting で2つ PR が生まれる • 同タイミングでリリースされるため1つにまとまって欲しい
• detekt toolVersion は検知してくれない • 手動で toolVesion をアップデートする必要がある
• 同じバージョンなのに複数の PR ができる • toolVersion のアップデートが手作業 • GitHub Actions で CI が走るため、無駄に料金が発生する 1つのPRで全部上がらないものか🤔
• gradle/libs.versions.toml にファイルを作成 [versions] detekt = "1.23.5" [libraries] [plugins] detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } libs.versions.toml の中身
• build.gradle.kts を変更 version catalog からバージョンの取得 alias で plugins で定義した依存の取得 version catalog から取得したものを利用
• Dependabot の PR が1つになった! • version catalog の変更のみに • 手作業がなくなってハッピー!
• Gradle version catalog を使うことで、 • detekt のアップデートが1つのPRで完結するようになった! • 手作業を省き、効率化ができた!
• 参考 • Run detekt using the Detekt Gradle Plugin | detekt • Compatibility Table | detekt • Sharing dependency versions between projects