Gradle / Programming

ザクっと理解するビルドのライフサイクル – Gradle Android Kotlin

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

ビルドのライフサイクルとは

初期化(Initialization)、構成(Configuration)、実行(Execution)の3つのフェーズがあり、構成フェーズではタスクグラフの作成をしています。

タスクグラフ

Gradleは、タスク実行の前にタスクグラフを作成します。
下の図は抽象例と具体例であり、矢印は依存先から依存元に伸びています。

Build Lifecycle Task Graphsより

ビルドフェーズ

ビルドには3つのフェーズがあり、Gradleはこれらを順に実行します。

Build Lifecycle Build Phasesより

1. 初期化(Initialization)
・settings.gradle(.kts)を検出
・Settingsインスタンスを生成
・ビルドを構成するプロジェクト(と含まれるビルド)を決定
・プロジェクトごとにProjectインスタンスを生成

2. 構成(Configuration)
・ビルドを構成するプロジェクトごとのビルドスクリプトであるbuild.gradle(.kts)を読み込み
・タスクグラフの作成

3. 実行(Execution)
・選択されたタスクの実行スケジュールの作成と実行
・依存関係のあるタスクの実行順番の決定
・タスクの並行実行

Build Lifecycle Build Phasesより

おわりに

次回はsettings.gradle(.kts)の書き方について解説します。
ご要望等がありましたらお気軽にコメントまでお願いします。

参考文献

Build Lifecycle

コメント

コメントを残す

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