Есть ли способ перечислить зависимости задач в Gradle?

./gradle tasks списки "некоторые" из задач. Смотря на http://gradle.org/docs/current/userguide/java_plugin.html скрытых нет в списке. Кроме того, другие плагины не будут иметь такой симпатичный график зависимости между задачами.

Есть ли способ

list all the tasks in all plugins with gradle list the tasks and what tasks they depend on (sort of like maven's depenceny:tree but for tasks)

Ответы на вопрос(7)

Ты можешь попробоватьcom.dorongold.task дерево плагин с простым использованием:

gradle <task 1>...<task N> taskTree
 10 февр. 2017 г., 09:30
отличный инструмент !! Спасибо!
 17 янв. 2019 г., 04:10
удалил свой недействительный комментарий.
 25 мар. 2016 г., 23:44
Хороший плагин, спасибо за подсказку
Решение Вопроса

чтобы получить более подробный список доступных задач и зависимостей задач

gradle tasks --all

РЕДАКТИРОВАТЬ: как отметил Радим в комментариях, эта команда не сообщает о зависимостях, для Gradle 3.3 и новее.

 16 авг. 2013 г., 18:32
Это не перечисляет зависимости, по крайней мере, с Gradle 1.5 или 1.7. Это то, что он когда-то делал, или это неполный ответ?
 Dean Hiller20 июн. 2012 г., 20:30
Похоже, в ней нет задачи для загрузки зависимостей из Интернета где-либо ??? Запуск задачи eclipse явно загружает материал, но не уверен, где находится эта зависимость ... нет способа ее перегрузить?
 12 сент. 2017 г., 10:25
Работает только для выпускников старше 3.3. Произошло изменение вtask reporting что удалил этот вывод.
 18 мар. 2018 г., 16:17
Кто-нибудь знает, кому показать дерево задач в Gradle 4.x +?
 20 июн. 2012 г., 22:50
действие загрузки ресурсов не привязано к выделенной задаче. Зависимости в Gradle добавляются в Конфигурации. Как только вы (в своей собственной реализации задач) или gradle (в своих собственных предоставленных задачах) ссылаетесь на файлы этой конфигурации, запускается механизм разрешения.

чтобы проверить его в скрипте сборки, используя Gradle.getTaskGraph ()

 20 июн. 2012 г., 22:56
gradle.getTaskGraph () показывает только те задачи, которые будут выполнены в вашей текущей сборке gradle, и этот taskGraph доступен только на этапе выполнения.

build.gradle:

gradle.taskGraph.whenReady {taskGraph ->
    println "Found task graph: " + taskGraph
    println "Found " + taskGraph.allTasks.size() + " tasks."
    taskGraph.allTasks.forEach { task ->
        println task
        task.dependsOn.forEach { dep ->
            println "  - " + dep
        }
    }
}

Затем запустите вашу задачу с Gradle:

./gradlew build

И вы должны увидеть это:

Found task graph: [email protected]
Found 19 tasks.
task ':compileJava'
  - task 'compileJava' input files
task ':compileScala'
  - task 'compileScala' input files
  - compileJava
task ':processResources'
  - task 'processResources' input files
task ':classes'
  - [email protected]
  - task 'classes' input files
  - compileJava
  - dirs
  - compileScala
  - processResources
task ':jar'
  - task 'jar' input files
task ':assemble'
  - task 'assemble' input files
  - org.gradle.api.inter[email protected]5bad9616
task ':compileTestJava'
    - task 'compileTestJava' input files
task ':compileTestScala'
  - task 'compileTestScala' input files
  - compileTestJava
task ':processTestResources'
  - task 'processTestResources' input files
task ':testClasses'
  - processTestResources
  - task 'testClasses' input files
  - compileTestScala
  - [email protected]
  - compileTestJava
  - dirs
task ':compileIntegrationTestJava'
  - task 'compileIntegrationTestJava' input files
task ':compileIntegrationTestScala'
  - task 'compileIntegrationTestScala' input files
  - compileIntegrationTestJava
task ':processIntegrationTestResources'
  - task 'processIntegrationTestResources' input files
task ':integrationTestClasses'
  - processIntegrationTestResources
  - compileIntegrationTestJava
  - [email protected]
  - compileIntegrationTestScala
  - dirs
  - task 'integrationTestClasses' input files
task ':composeUp'
  - task 'composeUp' input files
task ':integrationTest'
  - task ':composeUp'
  - task 'integrationTest' input files
task ':test'
  - task 'test' input files
task ':check'
  - task 'check' input files
  - task ':test'
  - task ':integrationTest'
task ':build'
  - task 'build' input files
  - check
  - assemble

которое я пометил как правильное, становится немного неудобным и трудным для чтения

gradle tasks --all

Вместо этого я перешел к рассмотрению конкретного проекта, что делает его намного проще

gradlew :full-httpproxy:tasks --all

где «полный-httpproxy»; это имя моего проекта (и каталог, как обычно).

Мне, однако, любопытно, как перечислить задачи в проекте master / root, и у меня также есть нерешенный вопрос

Как перечислить все задачи для мастер-проекта только в Gradle?

так как это сейчас не представляется возможным.

--profile чистая сборка

После этого перейдите в папку build / reports / profile и просмотрите файл .html. Вы увидите разрешение зависимостей и другую информацию со временем, которое потребовалось на красивой html-странице.

 29 мар. 2015 г., 11:51
Отчет не содержит никакой информации о зависимостях между задачами. Он просто перечисляет последовательно все задачи, которые были выполнены во время сборки.

s depenceny:tree but for tasks)

для этого вы можете использовать--dry-run (или же-m) опцию, которая перечисляет задачи, которые выполняются в порядке для конкретной команды, но не выполняет команду, например,

gradle assemble --dry-run

вы можете найти большеВот

Ваш ответ на вопрос