gradle

Gradle 8+

Gradle CLI のクイック リファレンス:プロジェクト タスク、依存関係管理、マルチプロジェクト ビルド、ラッパー、構成キャッシュ、ビルド スキャン — よく使うオプションと実用例をまとめました。

30 コマンド

タスク

gradle tasks

現在のビルドで定義されているすべてのタスクをカテゴリ別に一覧表示します。`--all` は内部 / 非表示のタスクも表示します。

--all; --group=<group>; --quiet

gradle tasks --all
gradle help

特定のタスクのヘルプ テキストを出力します:説明、グループ、宣言された入力 / 出力。

gradle help --task build
gradle :<module>:tasks

マルチプロジェクト ビルド内の特定のサブプロジェクトのタスクを一覧表示します(`<module>` を Gradle パスに置き換えてください)。

gradle :web:tasks --all

ライフサイクル

gradle build

標準の JVM ビルド チェーンを実行します: `compile → processResources → classes → jar → test → check → assemble`(および構成されている場合は zip ディストリビューション)。

-x <task> タスクを除外; --parallel; --build-cache; --configuration-cache

gradle build -x test
gradle clean

ビルド ディレクトリ(`build/`)を削除して、次のビルドですべてのタスクを最初から再実行します。

--no-rebuild 既定のライフサイクルを自動トリガーしない

gradle clean build
gradle assemble

すべてをコンパイルしてパッケージ化しますが、検証 / テスト タスクをスキップします。jar のみが必要な場合の高速フィードバック。

gradle assemble
gradle check

jar を生成せずにすべての検証タスク(`test`、`lint` など)を実行します。CI でマージ前のゲートとして使用します。

--continue タスク失敗後も続行

gradle check --continue
gradle test

ユニット テスト(Test タスク)を実行します。`--tests <pattern>` を使用して特定のクラス / メソッドに絞り込みます。

--tests com.acme.UserServiceTest; --tests '*User*'; --info

gradle test --tests 'com.acme.*ServiceTest'

依存関係

gradle dependencies

構成の解決された依存関係ツリーを出力します(例: `compileClasspath`、`runtimeClasspath`、`testCompileClasspath`)。

--configuration <name>; --all すべての構成を表示

gradle dependencies --configuration runtimeClasspath | grep -i slf4j
gradle dependencyInsight --dependency <id>

単一の依存関係が特定のバージョンになった理由を説明します — バージョンの競合解決に便利です。

--dependency <group:artifact>; --configuration <name>

gradle dependencyInsight --dependency com.fasterxml.jackson.core:jackson-databind
gradle buildEnvironment

解決されたビルド スクリプト クラスパス — ビルド自体が使用するすべてのプラグイン / ヘルパー ライブラリを出力します。

gradle buildEnvironment
gradle refresh-dependencies

動的バージョンとスナップショット依存関係の再解決を強制します。

--refresh-keys

gradle build --refresh-dependencies

マルチプロジェクト

gradle projects

リアクター内のすべてのプロジェクト(ルート + サブプロジェクト)をプロジェクト パスと説明とともに一覧表示します。

gradle projects
gradle :<module>:<task>

Gradle パス(`:` セパレーター)で 1 つのサブプロジェクト内のタスクを実行します。

-p <dir> サブディレクトリから開始

gradle :order-service:test :web:assemble
gradle <task> --parallel

独立したタスクを並列実行します — 独立したテスト スイートを持つマルチモジュール ビルドに便利です。

--max-workers=<N>; --no-parallel

gradle test --parallel --max-workers=4

パフォーマンス

gradle --build-cache <task>

ローカル ビルド キャッシュを有効にします(ブランチ間でタスク出力を再利用)。CI の場合は `settings.gradle` のリモート キャッシュと組み合わせます。

--no-build-cache

gradle assemble --build-cache
gradle --configuration-cache <task>

Gradle 8.x — 大規模マルチプロジェクト ビルドのサブミリ秒 スタートアップのために構成フェーズをキャッシュします。

--no-configuration-cache

gradle test --configuration-cache
gradle --no-daemon <task>

Gradle デーモンを無効にします — 低メモリ CI やデーモン専用バグの診断に便利です。

gradle --no-daemon test
gradle --stop

実行中のすべての Gradle デーモンを停止します。キャッシュ状態が疑わしい場合はクリーン リビルドと組み合わせます。

gradle --stop && gradle clean build

診断

gradle --scan <task>

タスクを実行してからビルド スキャンを公開します(最後にリンクが出力)。Build Scan 利用規約を 1 回承諾する必要があります。

--scan -Dscan.tag.<name>=<value>

gradle assemble --scan
gradle --info <task>

INFO ログを有効にします — タスクの開始 / 終了、アップツー デート チェック、依存関係解決。

--debug / -d さらに詳細

gradle test --info | tee gradle-info.log
gradle --stacktrace <task>

任意の失敗時に完全なスタック トレースを出力します。

--warning-mode=all すべての非推奨警告を表示

gradle build --stacktrace

ラッパー

./gradlew <task>

Gradle ラッパーを介してタスクを実行します — `gradle/wrapper/gradle-wrapper.properties` で固定された Gradle バージョンを使用します。

./gradlew clean build
gradle wrapper --gradle-version <v>

特定の Gradle ディストリビューションでラッパー ファイルを生成 / 更新します。

--distribution-type bin | all; --gradle-distribution-url <url>

gradle wrapper --gradle-version 8.7 --distribution-type bin

公開

gradle publish

`build.gradle` の `publishing` で宣言されたリポジトリにアーティファクトをアップロードします。一般的なターゲット: Sonatype 経由の Maven Central、プライベート Nexus / Artifactory。

-Drelease.useAutomaticVersion=true; -PpublishTo=staging

gradle publishToMavenLocal
gradle publishToMavenLocal

ビルドをローカル Maven リポジトリ(`~/.m2/repository`)にインストールして、隣接する Maven ビルドがそれに依存できるようにします。

gradle publishToMavenLocal

その他

gradle --version

Gradle / JVM / OS 情報(デーモン ステータスを含む)を出力します。

gradle --version
gradle properties

すべてのプロジェクト プロパティ(ext.*、gradle.*、システム)を一覧表示します — 上書きされた値の追跡に便利です。

gradle properties | grep version
gradle init

新しい Gradle プロジェクトをブートストラップします:DSL(Groovy / Kotlin)を選択し、プロジェクト タイプを選び、オプションで Git リモートを接続します。

--type basic; --type java-application; --type java-library; --dsl groovy|kotlin

gradle init --type java-library --dsl kotlin
gradle :<module>:tasks --group <name>

タスク リストを単一のタスク グループにフィルタリングします(例: `build`、`verification`、`documentation`、`help`)。

gradle tasks --group verification

関連コマンド速查

Gradle について

Gradle は 2008 年に(Hans Dockter と Gradleware / Gradle Inc チームによって)最初にリリースされた JVM ベースのビルド ツールです。Apache Ant の表現力と Apache Ivy の依存関係管理を、最初は Groovy ベースの DSL でラップしたもので、現在は Kotlin(Kotlin DSL、`.kts`)でも利用可能です。Gradle は Android ビルド(Android Studio は既定で Gradle を使用)、Spring Boot スターター、Kotlin Multiplatform、その他多くの大規模 JVM monorepo を支えています。現在の安定版は Gradle 8.x(8.7+)です。Gradle は、タスク入出力フィンガープリンティングによるインクリメンタル ビルド、並列タスク実行、ビルド キャッシュ(ローカル + リモート)、構成キャッシュ(8.x)で優れています。タスクは `build.gradle` / `build.gradle.kts` で宣言され、`dependsOn` を介してチェーンにグループ化されます。プラグインは新しいタスクを追加します(`java`、`java-library`、`application`、`org.springframework.boot`、`com.android.application`)。Gradle はソース コードをアップロードしません — 公開プラグインによって宣言されたアーティファクトのみを出荷します。ラッパー(`gradlew`)は `gradle-wrapper.properties` で固定された Gradle ディストリビューションをダウンロードする小さなランチャーをバンドルし、すべての開発者と CI エージェントが同じ Gradle バージョンを使うことを保証します。

チートシート バージョン 1.0.0