ザクっと理解する依存関係管理 – Gradle Android Kotlin
Gradleシリーズです。
なんとなく使っているGradleをザクっと理解できるように書いています。
前回はビルドファイルをザクっとご紹介しました。
今回は依存関係管理についてご紹介します。
Gradleの依存関係管理(Dependency Management)とは
プロジェクトで必要になる外部リソースの宣言や解決を自動で行うことを意味します。
Version Catalogでライブラリやプラグインの宣言を行い、ビルドファイル(ビルドスクリプト)でそれらを参照することで依存関係の一元管理を行います。
※Dependency Management Basicsより
Version Catalogとは
依存関係の宣言を一元化するために使用します。
サブプロジェクト間で依存関係とバージョンの構成の共有、チーム間で特定のライブラリやプラグインのバージョンの使用の強制が可能です。
「libs.versions.toml」というファイル名かつ、gradleフォルダの直下に配置する必要があります。
これによりGradleやIDEが自動的に参照できるようになります。
Version Catalogの書き方
多くの場合、Version Catalogは4つのセクションで構成されています。
1. [versions]
プラグインやライブラリが参照するバージョンの定義
2. [libraries]
ビルドファイルで使用するライブラリの定義
3. [bundles]
一連の依存関係の定義
4. [plugins]
プラグインの定義
[versions]
androidGradlePlugin = "7.4.1"
mockito = "2.16.0"
[libraries]
google-material = { group = "com.google.android.material", name = "material", version = "1.1.0-alpha05" }
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
ビルドファイルで参照する方法
build.gradle(.kts)ファイルに下記のように定義する必要があります。
plugins {
alias(libs.plugins.android.application) // 1
}
dependencies {
implementation(libs.google.material) // 2
testImplementation(libs.mockito.core) // 3
}
1. android.application
Version Catalogの[plugins]にある「android-application」を適用しています。
2. google.material
Version Catalogの[libraries]にある「google-material」を適用しています。
「implementation()」は製品としてコードを実行、コンパイルする際に使用します
3. mockito.core
Version Catalogの[libraries]にある「mockito-core」を適用しています。
「testImplementation()」はテストとしてコードを実行、コンパイルする際に使用します
おわりに
次回はタスクについて解説します。
ご要望等がありましたらお気軽にコメントまでお願いします。
コメント