I consider afterEvaluate {...}
and evaluationDependsOnX()
as hacks that should be avoided. Think of the case where two plugins want to perform some logic in an afterEvaluate
closure. You can often achieve the desired behaviour using the “live” APIs.
When using the “live” APIs, a plugin is (usually) agnostic to evaluation order