173

./gradle tasksタスクの「一部」をリストします。http://gradle.org/docs/current/userguide/java_plugin.htmlを見ると、 リストされていない非表示のものがあります。また、他のプラグインには、タスク間の依存関係のこのようなきれいなグラフはありません。

する方法はありますか

  1. gradle を使用してすべてのプラグインのすべてのタスクを一覧表示する
  2. タスクとそれらが依存するタスクを一覧表示します (Maven のようなものですdependency:treeが、タスク用です)。
4

11 に答える 11

105

Gradle 3.3より前では、--allフラグを使用して、使用可能なタスクとタスクの依存関係のより詳細なリストを取得できました。

gradle tasks --all

依存関係のレポートは、パフォーマンス上の理由からGradle3.3以降このタスクから削除されました。この変更とその理由は、Gradle3.3リリースノートに記載されています。

于 2012-05-02T21:59:57.730 に答える
64

com.dorongold.task-treeプラグインを試すことができます:

plugins {
  id "com.dorongold.task-tree" version "2.1.0"
}

簡単な使い方:

gradle <task 1>...<task N> taskTree

readmeの結果の例:

gradle build taskTree --no-repeat

:build
+--- :assemble
|    \--- :jar
|         \--- :classes
|              +--- :compileJava
|              \--- :processResources
\--- :check
     \--- :test
          +--- :classes
          |    +--- :compileJava
          |    \--- :processResources
          \--- :testClasses
               +--- :compileTestJava
               |    \--- :classes
               |         +--- :compileJava
               |         \--- :processResources
               \--- :processTestResources
于 2016-01-19T15:08:30.683 に答える
16

gradle タスク ツリーは、次のプラグインで視覚化gradle tasks --all または試すことができます。

グラフ Gradle と Talaiot: これを調べてください: https://proandroiddev.com/graphs-gradle-and-talaiot-b0c02c50d2b1ブログには、グラフィカルに表示されるタスクと依存関係がリストされています。これは、無料のオープン Graphviz ツールGephi ( https://gephi.org/features/ )を使用します。

gradle-task-tree : https://github.com/dorongold/gradle-task-treeおよび

gradle-visteg : https://github.com/mmalohlava/gradle-visteg

  1. gradle-vistegプラグイン: 生成されたファイルは、 Graphviz dotユーティリティを介して後処理できます。

  2. たとえば、png 画像は次のように生成されます。

    cd build/reports/; dot -Tpng ./visteg.dot -o ./visteg.dot.png

詳細については、Graphvizのホームページをご覧ください。

タスクを実行するために実際に使用されるタスク (例: ) は、オプションbuildを使用してナイス HTML ページで表示できます。--profile

gradle --profileクリーン ビルド

これが完了したら、build/reports/profile フォルダーに移動し、.html ファイルを参照します。素敵な html ページにかかった時間とともに、依存関係の解決やその他の情報が表示されます。

于 2013-10-22T18:00:10.460 に答える
8

プログラムでタスクグラフにアクセスし、Gradle.getTaskGraph()を使用してビルドスクリプト内でそれを検査できます。

于 2012-05-03T03:35:10.193 に答える
3

マルチプロジェクトが成長するにつれて、私が正しいとマークしたソリューションは、少し扱いに​​くく、読みにくくなります。

gradle tasks --all

代わりに、特定のプロジェクトに目を向けて、はるかに簡単にできるようにしました

gradlew :full-httpproxy:tasks --all

ここで、「full-httpproxy」は私のプロジェクトの名前です(通常はディレクトリです)。

ただし、マスター/ルートプロジェクトでタスクをリストする方法に興味があり、ここでも未解決の質問があります

マスタープロジェクトのすべてのタスクをgradleでのみリストする方法は?

それを行うことは今のところ不可能のようです。

于 2016-07-07T13:26:30.810 に答える
0

If plugins don't work for you, you can use this gist in your build.gradle

https://gist.github.com/jrodbx/046b66618c558ca9002a825629d59cde

于 2021-02-17T10:50:42.103 に答える