Gradle / Programming

ザクっと理解するマルチプロジェクトのビルド – Gradle Android Kotlin

Gradleシリーズです。
なんとなく使っているGradleをザクっと理解できるように書いています。
前回はGradle ディレクトリをザクっとご紹介しました。
今回はマルチプロジェクトのビルドについてご紹介します。

マルチプロジェクトのビルドとは

プロジェクトの規模によっては、プロジェクトをより小さな単位に分割します。
これをモジュールと呼び、モジュール間を繋ぎ合わせることで1つのプロジェクトとしてビルドします。
Gradleは、これをマルチプロジェクトのビルド(multi-project builds)でサポートしています。

Multi-Project Build Basicsより

マルチプロジェクトの構成

Multi-Project Build Basics Multi-Project structureより

こちらは2つのサブプロジェクトを含む、マルチプロジェクトの構成を表しています。
マルチプロジェクトは、1つのルートプロジェクトと複数のサブプロジェクトで構成されます。

ディレクトリ構成は下記のようになります。

├── .gradle
│   └── ⋮
├── gradle
│   ├── libs.version.toml
│   └── wrapper
├── gradlew
├── gradlew.bat
├── settings.gradle.kts // 1
├── sub-project-1
│   └── build.gradle.kts // 2
└── sub-project-2
    └── build.gradle.kts // 2

1. 全てのサブプロジェクトを定義する設定ファイル
2. 各サブプロジェクト用のビルドファイル

マルチプロジェクトの標準

マルチプロジェクトのビルド構成には、buildSrcを使うマルチプロジェクトビルドとCompositeビルドを使用する2つの方法があります。

マルチプロジェクトビルド
GradleプロジェクトのルートにサブプロジェクトのようなディレクトリであるbuildSrcがあり、すべてのビルドロジックを含みます。

Compositeビルド
ほかのビルドを含んだビルドです。
Gradleプロジェクトのルートにビルドディレクトリであるbuild-logicがあり、すべてのビルドロジックを含みます。

Multi-Project Build Basics Multi-Project structure Multi-Project standardsより

ちなみにnowinandroidでは、Compositeビルドを使用しています。

おわりに

次回はビルドのライフサイクルについて解説します。
ご要望等がありましたらお気軽にコメントまでお願いします。

参考文献

Multi-Project Build Basics

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です