Static analysis to help Gradle plugin authors use latest best practises.
Rather than immediately creating all the tasks you need, Gradle recommends registering your task name and configuring it lazily. This results in a performance improvement because tasks that are not needed are never actually configured.
This BugChecker implements most of the recommendations in the comparison table, for example:
-project.getTasks().getByName("foo", Closure/Action)
+project.getTasks().named("foo").configure(org.gradle.api.Action)
Provider
, Property
etc@Input
and @Output
annotations