---
title: ./gradlew build を実行する仕組みを調べる
tags: 
author: [okarin](https://image.docswell.com/user/okarin)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YJ6W446ZJV.jpg?width=480
description: ./gradlew build を実行する仕組みを調べる by okarin
published: May 30, 26
canonical: https://image.docswell.com/s/okarin/5E18VJ-JJUG_2026_Spring_LT
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YJ6W446ZJV.jpg)

. /g rad l ew b ui ld を 実行 する
仕 組み を調 べ る
JJUG CCC 2026 Spring Lightning Talks
okarin
2026.05.30
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GJ5MQQ69J4.jpg)

自己紹介
自己紹介
okarin
所属
Java 歴
・サイボウズ株式会社（2026年2月〜）
・4ヶ月
好きなもの
X
・ランニング、ブロッコリー、日本庭園など
・@okarin_dev
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LE3WVVQ2E5.jpg)

背景
なぜ ./gradlew build の仕組みを知ろうと思ったか
Java 入門当初
`gradle init` を実行すると、いろんなタスクが実行できて便利！
数ヶ月後…
どうやってタスクが実行できるのかがなんもわからん
今回は使用頻度の高い ./gradlew build にフォーカスして、
なぜ build タスクが実行できるようになるのかを調べてみた
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/8EDK88967G.jpg)

./gradlew build の仕組み
初期化フェーズ
空のディレクトリでタスク一覧を表示しようとすると、設定ファイルがないエラーになる
（※一部省略）
$ gradle tasks
Directory &#039;/path/to/workspace/learn-gradle&#039; does not contain a Gradle build.
A Gradle build&#039;s root directory should contain one of the possible settings files:
settings.gradle, settings.gradle.kts, settings.gradle.dcl.It may also contain one of
the possible build files: build.gradle, build.gradle.kts, build.gradle.dcl.
BUILD FAILED in 2s
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/V7PK889ZJ8.jpg)

./gradlew build の仕組み
settings ファイル追加後
空の設定ファイル追加後は、多くのタスクが確認できる
（※一部省略）
$ touch settings.gradle.kts
$ gradle tasks
Build Setup tasks
----------------init - Initializes a new Gradle build.
updateDaemonJvm - Generates or updates the Gradle Daemon JVM criteria.
wrapper - Generates Gradle wrapper files.
Help tasks
---------artifactTransforms - Displays the Artifact Transforms that can be executed in root project &#039;test-gradle&#039;.
buildEnvironment - Displays all buildscript dependencies declared in root project &#039;test -gradle&#039;.
dependencies - Displays all dependencies declared in root project &#039;test-gradle&#039;.
dependencyInsight - Displays the insight into a specific dependency in root project &#039;test-gradle&#039;.
help - Displays a help message
...
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/2JVVNNMMJQ.jpg)

./gradlew build の仕組み
base プラグインの追加
build.gradle.kts を作成して base プラグインを追加すると Build tasks が追加される
（※一部省略）
$ echo &#039;plugins { base }&#039; &gt; build.gradle.kts
$ gradle tasks
Build tasks
----------assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
clean - Deletes the build directory.
Verification tasks
-----------------check - Runs all checks.
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/5EGLKKGXJL.jpg)

./gradlew build の仕組み
base プラグイン
base プラグインとは？
他のプラグインやビルド作成者が提供する、より具体的なタスクを包括する傘のよう
な役割を果たすライフサイクルタスクのセット（= build, assemble, check）
https://docs.gradle.org/current/userguide /base_plugin.html
base プラグインを登録すると
build, assemble, check が登録される（コード）
さらに下位のタスクを assemble や check に
紐づけることで、build タスクを形成する
（build には直接紐付けない）
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4JQYNNX57P.jpg)

./gradlew build の仕組み
gradle init 実行
`gradle init` を実行した場合は application プラグインが追加される
（※一部省略）
$ gradle init --type java-application --dsl kotlin --project-name learn-gradle --test-framework junitjupiter --java-version 21 --use-defaults --overwrite
$ cat app/build.gradle.kts
plugins {
// Apply the application plugin to add support for building a CLI application in Java.
application
}
Application &gt; Java &gt; JavaBase &gt; Base &gt; LifecycleBase
で build タスクが登録される
→ wrapper を経由して ./gradlew build でビルドが実行できる
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/K74WGG6VE1.jpg)

まとめ
まとめ
◼ タスクを実行するには、最低限 settings ファイルが必要
◼ base プラグインを追加することで build, assemble, check タスク
が登録される
◼ さらに下位のタスクを assemble, check タスクに紐づけることで
build タスクが形成される
◼ `gradle init` を実行したときは、 application プラグインによって
build タスクが形成される
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LJ1YDDV4EG.jpg)

©️ Cybozu, Inc.
10


