タスク間依存関係のグラフィカル表示
Gradleでは、タスクの実行順序を決定するために有向非巡回グラフ(DAG)が利用されます。
Gradle 9.1 で追加された --task-graph オプションで、有向非巡回グラフ上のタスク間の依存関係を表示できます(プレビュー機能)。
./gradlew build --task-graph
以下のように依存関係が確認できます。
Calculating task graph as no cached configuration is available for tasks: build
Task graph printing is an incubating feature.
Tasks graph for: build
\--- :app:build (org.gradle.api.DefaultTask)
+--- :app:assemble (org.gradle.api.DefaultTask)
| +--- :app:distTar (org.gradle.api.tasks.bundling.Tar)
| | +--- :app:jar (org.gradle.api.tasks.bundling.Jar)
| | | +--- :app:classes (org.gradle.api.DefaultTask)
| | | | +--- :app:compileJava (org.gradle.api.tasks.compile.JavaCompile)
| | | | \--- :app:processResources (org.gradle.language.jvm.tasks.ProcessResources)
| | | \--- :app:compileJava (*)
| | \--- :app:startScripts (org.gradle.api.tasks.application.CreateStartScripts)
| | \--- :app:jar (*)
| +--- :app:distZip (org.gradle.api.tasks.bundling.Zip)
| | +--- :app:jar (*)
| | \--- :app:startScripts (*)
| \--- :app:jar (*)
\--- :app:check (org.gradle.api.DefaultTask)
\--- :app:test (org.gradle.api.tasks.testing.Test)
+--- :app:classes (*)
+--- :app:compileJava (*)
+--- :app:compileTestJava (org.gradle.api.tasks.compile.JavaCompile)
| +--- :app:classes (*)
| \--- :app:compileJava (*)
\--- :app:testClasses (org.gradle.api.DefaultTask)
+--- :app:compileTestJava (*)
\--- :app:processTestResources (org.gradle.language.jvm.tasks.ProcessResources)
(*) - details omitted (listed previously)
この機能により、タスクを実行せずにタスク間の依存関係を素早く確認することができます。
コンソール表示オプション値 colored の追加
--console コマンドラインオプションに colored が追加されました。
./gradlew build --console=colored
デフォルトの進行状況バーなどの機能なしに、プレーンなログ内のエラーや警告をカラーハイライト付きで出力します。
--console の設定値は以下を設定できます。
plain: プレーンテキストのみを生成colored: 進行状況バーなどのリッチなステータス情報を含まないカラー出力を生成auto(デフォルト) : Gradle がターミナルに接続されていない場合plain、接続されている場合はrichを有効にするrich: コンソール出力でカラーおよびその他のリッチ出力を生成verbose:richに加えライフサイクルログレベルでタスク名と結果を出力
個人的には colored がデフォルトになってほしいところです。
gradle.properties に以下のように設定することで、コマンドラインで指定することなく colored を有効化できます。
org.gradle.console=colored