はじめに
前回は、タスクについて学びました。
今回は、依存関係の設定について学びます。
Dependency Management
プロジェクトの依存関係
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
// Use JUnit test framework.
testImplementation("junit:junit:4.13.2")
// This dependency is used by the application.
implementation("com.google.guava:guava:32.1.2-jre")
}
repositories
ライブラリやプラグインを取得元を指定します。
dependencies
プロジェクトの依存関係を設定します。
推移的依存関係
ライブラリが依存するライブラリを推移的依存関係と呼ぶ
依存関係の確認
./gradlew dependencies
バージョンカタログ
プロジェクト内で使用する依存関係やプラグインのバージョン情報を一元管理し、ビルドスクリプトでの参照を簡潔にする仕組みです。
これにより、依存関係のバージョン管理が容易になり、プロジェクト全体での一貫性を保てます。
IDEのサポートを受けることもでき、エラーチェックも可能です。
ルートのgradle/libs.versions.toml
にバージョン情報を記述します。
[versions] # バージョンを一元管理するためのキー
guava = "32.1.2-jre"
[libraries] # プロジェクト内で使用する依存関係(ライブラリ)を定義
guava = { group = "com.google.guava", name = "guava", version.ref = "guava" } # version.refでversionsのキーを参照
[bundles] # 複数の関連するライブラリを1つのグループとしてまとめて定義するためのキー
groovy = ["groovy-core", "groovy-json", "groovy-nio"]
[plugins] # GradleプラグインのIDとバージョンを一元管理するためのキー
versions = { id = "com.github.ben-manes.versions", version = "0.45.0" }
まとめ
依存関係は、repositories
とdependencies
で設定する。
repositoriesは、ライブラリやプラグインを取得元を指定し、dependenciesは、プロジェクトの依存関係を設定する。
バージョンカタログはプロジェクトの依存関係やプラグインのバージョンを一元管理する仕組みである。
サブプロジェクトから参照されるように、ルートのgradle/libs.versions.toml
に記述する。