Here is a gist for a simple gradle plugin implementation that can generate an HTML report of your gradle build's Task Execution Graph.
Here is a sample output for a simple project:
To use it simply apply it in your build.gradle like so:
And then run any build like this;
and find the output report in:
I use this to determine which tasks I should exclude using the -x flag and only (carefully) run the ones I need. Of course you have to know what you are doing. The idea is similar to my Maven Phases and Goals plugin.
Feedback welcome!
Here is a sample output for a simple project:
↦ :clean - Deletes the build directory. ↦ :build - Assembles and tests this project. ┖ :assemble - Assembles the outputs of this project. ┖ :jar - Assembles a jar archive containing the main classes. ┖ :classes - Assembles main classes. ┖ :compileJava - Compiles main Java source. ⊣ ┖ :processResources - Processes main resources. ⊣ ┖ :check - Runs all checks. ┖ :test - Runs the unit tests. ┖ :classes - Assembles main classes. ↑ ┖ :testClasses - Assembles test classes. ┖ :compileTestJava - Compiles test Java source. ┖ :classes - Assembles main classes. ↑ ┖ :processTestResources - Processes test resources. ⊣
To use it simply apply it in your build.gradle like so:
: : apply from: 'build-task-graph.gradle' : :
And then run any build like this;
> .\gradlew -m clean build
and find the output report in:
build/reports/printteg.html
It should be a simple exercise to generate hyperlinked output or alternatively emit a .dot file graph or even generate SVG.
I use this to determine which tasks I should exclude using the -x flag and only (carefully) run the ones I need. Of course you have to know what you are doing. The idea is similar to my Maven Phases and Goals plugin.
Feedback welcome!
No comments:
Post a Comment