I am trying to learn more about how Gradle works internally. Looking at the task execution graph, and its executionPlan
, I find the nodeMapping
, which basically contains data on which tasks will be executed in the current run:
Almost all of the nodes are TaskNode
s, but some few are ActionNode
s or TransformationNode
s, which is consistent with the class hierarchy of Node
:
Question: What is the difference between these subtypes, TaskNode
, ActionNode
, and TransformationNode
? What do they mean?
And what would I need to do in my build to cause these other node types to appear in the node mapping?
I am using Gradle 6.6.1, fwiw.
(I made the screenshots using the android-reporting plugin, but that did not help me uncover this secret.) Any insights and maybe even a simple build.gradle paragraph that would cause these nodes to be created are highly appreciated! Pointers to documentation, too, but Google couldn’t find anything. Thanks!!