【グレイドル】

Gradle(グレイドル) とは?

最終更新:
💡 ビルドの作業と順序をまとめる、開発の職人

タスクとその依存関係を使い、コンパイル・テスト・成果物の作成などを自動化するビルドツール。GroovyやKotlinで設定を書け、プラグインで機能を追加できる。

📌 このページのポイント
Gradle:設定からビルドを実行入力と設定ソースコードbuild.gradleまたは .ktsGradle必要なタスク依存関係を守って実行成果物JARなどテスト結果構成によるWrapperで、指定した版を実行gradlew / gradlew.bat差分実行・キャッシュは条件と設定を確認
タスクでビルドを組み立てる例。使うプラグインや構成で処理・成果物は変わります。
ひよこ ひよこ
Gradleは、何をしてくれる?
ペンギン先生 ペンギン先生
コンパイルやテスト、配布用ファイルの作成などをタスクとして扱うよ。必要な依存関係に従って実行し、プラグインで作業や既定の設定を追加できる。使う言語や成果物に合ったタスクを定義するので、どのプロジェクトでも同じ処理を全部行うわけではないんだ。
ひよこ ひよこ
設定ファイルは、どれ?
ペンギン先生 ペンギン先生
Groovyならbuild.gradle、Kotlinならbuild.gradle.ktsだよ。タスクや依存するライブラリ、プラグインなどを設定する。Mavenは主にXMLで設定を書く。どちらが必ず読みやすいというものではなく、プロジェクトの構成や慣れも関係するね。
ひよこ ひよこ
Androidでも使うの?
ペンギン先生 ペンギン先生
Android Studioのビルドは、GradleとAndroid Gradle Pluginを使うよ。プラグインがAndroid向けのタスクや設定を提供し、アプリの種類やビルドの構成を扱う。Gradle本体とプラグインは別なので、版の組み合わせも確認するんだ。
ひよこ ひよこ
二回目なら、必ず速くなる?
ペンギン先生 ペンギン先生
入力と出力が変わっていないタスクを省くなど、条件が合えば作業を減らせるよ。ビルドキャッシュは過去の出力を再利用する別の仕組みで、Gradle本体では既定で有効ではない。設定と対象タスクによるので、毎回すべての変更部分だけを処理するとは限らないんだ。
ひよこ ひよこ
Wrapperは、何のため?
ペンギン先生 ペンギン先生
プロジェクトで指定した版のGradleを起動するスクリプトだよ。必要なら先にその版をダウンロードする。gradlewやWindowsのgradlew.batを使うことで、各自のインストール版に左右されにくくなる。Javaやプラグインなど、ほかの環境条件まで自動で全部揃うという意味ではないよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Gradle」って出てきたら「プログラムのビルド作業を自動化するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Gradle」 = ビルド自動化ツールの名前
💬 名前の組み合わせを推測するより、タスク・プラグイン・ビルド設定という役割で覚えよう。

参考資料

← 用語集にもどる