This is a follow up to https://github.com/spring-projects/spring-boot/issues/18881

Prior to this commit, the bootBuildInfo was configured eagerly. Configuring it lazily prevent this task from being configured when not explicitly needed. Also, the classes and bootJar tasks are now lazily configured, as the bootBuildInfo task required them eagerly.

There are still some improvement possible for the AutoConfigurationPlugin, but it requires a bit more work.

Comment From: pivotal-issuemaster

@celcius112 Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

Comment From: pivotal-issuemaster

@celcius112 Thank you for signing the Contributor License Agreement!

Comment From: wilkinsona

@celcius112 Thanks very much for making your first contribution to Spring Boot.