anchor.diff:  
   The https://github.com/gradle/gradle-profiler#gradle-profiler[Gradle Profiler] is a tool to measure build times for Gradle builds in a predictable and reproducible manner. The tool automates collecting profiling and benchmark information from a Gradle build and mitigates environmental impacts to measuring build time (like JIT warmups and cached dependencies). Clone and build `gradle-profiler` locally.
   
  -To measure the impact of the new API on your build, we've included a sample scenario file you can use. This scenario runs `gradle help` on your build with a special flag to enable/disable the new API to make it easier to measure improvements.
  +To measure the impact of the new API on your build, we've included a sample scenario file you can use. This scenario runs `gradle help` on your build with a special flag to enable/disable the new API to make it easier to measure improvements. `gradle help` approximates the time it takes Gradle to configure your build by running only a single, simple task.
   
   .Save as help.scenario
   [source,json]
  
positive.code: 3. Lists of the type of tasks that were created with the old API. This is a good list to work down to increase the amount of possible avoidable task configuration. 
  4. Lists of the type of tasks that were created with the new API but were created/configured anyways. This is a good list to work down to increase the amount of task configuration that is avoided.
  
  These statistics are printed out once per build. So projects with buildSrc will display this information twice (once for buildSrc, once for the root build).  In a build that uses the new APIs perfectly, we should see 0 tasks created with the old API and only 1 created/configured task because we are only executing the `help` task. If you run other tasks (like `build`), you should expect many more tasks to be created and configured.
  
  You can use the list of task types to guide which tasks would provide the biggest bang for your buck when you migrate to the new API.
  
  To approximate the time it takes to configure a build without executing tasks, you can run `gradle help`. Please use the Gradle Profiler to measure your build as described in <<sec:new_task_gradle_profiler_scenario>>.
  
  [[sec:task_configuration_avoidance_pitfalls]]
  ==== Pitfalls and examples
  
  The following guidelines should be followed when using the new APIs:
  
  
negative.code: [[sec:how_do_i_defer_configuration]]
  ==== How do I defer task configuration?
  
  Existing APIs like api:org.gradle.api.DomainObjectCollection#all(org.gradle.api.Action)[] and api:org.gradle.api.DomainObjectCollection#withType(java.lang.Class,org.gradle.api.Action)[] will immediately create and configure any registered tasks. To defer task configuration, you will need to migrate to a new API equivalent. See the <<sec:old_vs_new_configuration_api_overview,table below>> to identify the new API alternative.
  
  [[sec:how_do_i_reference_a_task]]
  ==== How do I reference a task without creating/configuring it?
  