Gradle resolved configuration

I’d like to inspect resolved configuration to print classpath entries per each configuration. My initial implementation was to use task printConfigs() doLast{ }. It appears that Gradle reruns many tasks to resolve configuration. For my build, it’s incorrect then to call it via a task. I am inclined to implement the call via afterEvaluate().

Two questions

  1. What tasks does Gradle run to produce configuration.resolvedConfiguration?
  2. What is the right approach to inspecting resolved configurations in a large build?