🔨

Gradleを次のステップへ

2024/01/31に公開

この記事は、Voicy Tech Bar #4で登壇した内容を記事化したものです。
登壇資料

GroovyからKotlinへの移行

Android Developers Blogに投稿されている2023年のGoogleI/Oの内容を紹介する14 Things to know for Android developers at Google I/O!という記事で、ビルドスクリプトにはKotlin DSLを使用することを推奨していると紹介されています。Android Studio Giraffeでは、新しいプロジェクトを作成する際にビルドスクリプトにKotlin DSLがデフォルトで設定されるようになりました。
既存のGroovyに比べIDEサポートが強力になり以下のメリットがあります。

  • 構文のハイライト
  • コード補完
  • 呼び出し元へのナビゲーション etc...

プロダクトで実際に移行してみた

移行をしようと思った背景は、Android Studio GiraffeのIDEサポートの恩恵を受けたいと思った点と、ライブラリの更新検知を自動化しようと検討していたところでタイミングが良いのでKotlin DSLに移行しようという流れでした。

移行前の状態

既存のGroovyでは、各ライブラリのバージョン指定をextraプロパティで纏めていました。

移行の手順

Kotlin化は以下の手順で各段階に分けて移行を進めました。

  1. VersionCatalog化
  2. Kotlin DSL化
  3. Renovate導入(おまけ)

移行後の所感

  • プロジェクトからGroovyの記述を削除できた
  • buildSrcよりも容易に移行が行えた
  • Renovateによりライブラリ更新への関心度が上がった(おまけ)
  • ライブラリバージョンの一括管理はbuildSrcでやるよりもVersionCatalogの方が容易に感じた
  • VersionCatalog化とKotlin DSL化をする場合はVersionCatalogに纏めてからKotlinDSL化するのがおすすめです。

Discussion