./gradle tasks
перечисляет "некоторые" из задач. Глядя на
http://gradle.org/docs/current/userguide/java_plugin.html, есть скрытые, которых нет в списке. Кроме того, другие плагины не будут иметь такой симпатичный график зависимости между задачами.
Есть ли способ
- перечислить все задачи во всех плагинах с Gradle
- перечислите задачи и от каких задач они зависят (вроде как у maven,
dependency:tree
но для задач)
для этого вы можете использовать
--dry-run
(или-m
) опцию, которая перечисляет задачи, которые выполняются для определенной команды, но не выполняет команду, напримерВы можете найти больше здесь
источник
Вы можете попробовать плагин com.dorongold.task-tree с простым использованием:
Пример результата из readme :
источник
--no-repeat
. Источник: github.com/dorongold/gradle-task-treeВы можете вставить это в свой
build.gradle
:или это в ваш
build.gradle.kts
:Затем запустите вашу задачу с Gradle:
И вы должны увидеть это:
источник
A <- B <- (C and D)
, это покажет вамB-A, C-B, D-B
. Это все еще помогает некоторым!дерево задач Gradle может быть визуализировано
gradle tasks --all
или попробовать следующие плагины:Графики Gradle и Talaiot: загляните в этот: https://proandroiddev.com/graphs-gradle-and-talaiot-b0c02c50d2b1 блог, в котором перечислены графически просматриваемые задачи и зависимости. Для этого используется бесплатный открытый инструмент Graphviz Gephi ( https://gephi.org/features/ ).
дерево задач gradle : https://github.com/dorongold/gradle-task-tree и
gradle-visteg : https://github.com/mmalohlava/gradle-visteg
Плагин gradle-visteg : сгенерированный файл может быть обработан с помощью утилиты Graphviz
dot
.Например , png изображение создается следующим образом:
cd build/reports/; dot -Tpng ./visteg.dot -o ./visteg.dot.png
Для получения дополнительной информации, пожалуйста, посетите главную страницу Graphviz .
Какие бы задачи ни использовались для выполнения задачи (например,
build
:) можно просмотреть на красивой HTML-странице, используя--profile
опциюGradle --profile чистой сборки
После этого перейдите в папку build / reports / profile и просмотрите файл .html. Вы увидите разрешение зависимостей и другую информацию со временем, которое потребовалось на красивой HTML-странице.
источник
Вы можете программно получить доступ к графу задач, чтобы проверить его в скрипте сборки, используя Gradle.getTaskGraph ()
источник
По мере роста вашего мультипроекта решение, которое я пометил как правильное, становится немного неудобным и трудным для чтения
Вместо этого я перешел к рассмотрению конкретного проекта, что делает его намного проще
где 'full-httpproxy' - это имя моего проекта (и каталога, как обычно).
Мне, однако, любопытно, как перечислить задачи в проекте master / root, и здесь у меня также есть нерешенный вопрос.
Как перечислить все задачи для мастер-проекта только в Gradle?
поскольку делать это сейчас не представляется возможным.
источник
Вы также можете добавить следующий плагин для вашей локальной среды build.gradle, https://github.com/dorongold/gradle-task-tree
источник
После ответа cstroe, следующий также печатает входные и выходные файлы каждой задачи Gradle. Это полезно, поскольку зависимости иногда определяются отношениями ввода / вывода. То есть, если задача B использует выходные данные задачи A, ответ cstroe не покажет вам зависимость. Следующее очень примитивно, но показывает список входных и выходных файлов для каждой задачи:
источник