./gradle tasks
lista "algumas" das tarefas. Olhando
http://gradle.org/docs/current/userguide/java_plugin.html, existem ocultos não listados. Além disso, outros plugins não terão um gráfico bonito e agradável das dependências entre as tarefas.
Existe uma maneira de
- listar todas as tarefas em todos os plugins com gradle
- liste as tarefas e de que tarefas elas dependem (como as de maven,
dependency:tree
mas para tarefas)
para isso, você pode usar a opção
--dry-run
(ou-m
) que lista as tarefas executadas em ordem para um comando específico, mas não executa o comando, por exemplovocê pode encontrar mais aqui
fonte
Você pode tentar o plug- in com.dorongold.task-tree com o uso simples:
Exemplo de resultado do leia - me :
fonte
--no-repeat
. Fonte: github.com/dorongold/gradle-task-treeVocê pode colocar isso no seu
build.gradle
:ou isso em seu
build.gradle.kts
:Em seguida, execute sua tarefa com gradle:
E você deve ver isso:
fonte
A <- B <- (C and D)
, isso mostrará a vocêB-A, C-B, D-B
. Ainda ajuda alguns!A árvore de tarefas gradle pode ser visualizada por
gradle tasks --all
ou tente os seguintes plugins:Gráficos Gradle e Talaiot: analise o seguinte: https://proandroiddev.com/graphs-gradle-and-talaiot-b0c02c50d2b1 blog, que lista tarefas e dependências de visualização gráfica. Ele usa a ferramenta gratuita Graphviz aberta Gephi ( https://gephi.org/features/ )
gradle-task-tree : https://github.com/dorongold/gradle-task-tree e
gradle-visteg : https://github.com/mmalohlava/gradle-visteg
plugin gradle-visteg : o arquivo gerado pode ser pós-processado através do utilitário Graphviz
dot
.Por exemplo , a imagem png é produzida da seguinte maneira:
cd build/reports/; dot -Tpng ./visteg.dot -o ./visteg.dot.png
Para mais informações, visite a página inicial do Graphviz .
Quaisquer que sejam as tarefas realmente usadas para executar uma tarefa (por exemplo:),
build
podem ser visualizadas em uma boa página HTML usando a--profile
opçãoGradle --profile compilação limpa
Quando isso estiver concluído, vá para a pasta build / reports / profile e procure o arquivo .html. Você verá a resolução de dependências e outras informações com o tempo que levou em uma boa página html.
fonte
Você pode acessar programaticamente o gráfico de tarefas para inspecioná-lo no script de construção usando Gradle.getTaskGraph ()
fonte
À medida que o seu multiprojeto cresce, a solução que marquei como correta se torna um pouco insana e difícil de ler
Em vez disso, passei a olhar para um projeto específico, tornando muito mais fácil
onde 'full-httpproxy' é o nome do meu projeto (e diretório como é típico).
No entanto, estou curioso para saber como listar tarefas no projeto mestre / raiz e também tenho uma pergunta excelente aqui
Como listar todas as tarefas do projeto mestre apenas em gradle?
como fazer isso não parece possível no momento.
fonte
Você também pode adicionar o seguinte plugin ao seu ambiente local build.gradle, https://github.com/dorongold/gradle-task-tree
fonte
Após a resposta do cstroe, o seguinte também imprime os arquivos de entrada e saída de cada tarefa Gradle. Isso é útil, pois as dependências às vezes são definidas por relações de entrada / saída. Ou seja, se a tarefa B usar as saídas da tarefa A, a resposta da cstroe não mostrará a dependência. A seguir, é muito primitivo, mas mostra a lista de arquivos de entrada e saída para cada tarefa:
fonte