Make zipEcFiles task lazy

This change makes it so that zipEcFiles task will only get
created when we run it or JacocoReport tasks.

Test: ./gradlew projects --scan -> no longer gets created during
      configuration

Change-Id: If60a73c89baf92acb64618d1c93ac96d19daa6f8
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
index 408b48b..a8aaa5e 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
@@ -715,7 +715,7 @@
         val zipEcFilesTask = Jacoco.getZipEcFilesTask(this)
 
         tasks.withType(JacocoReport::class.java).configureEach { task ->
-            zipEcFilesTask.dependsOn(task) // zip follows every jacocoReport task being run
+            zipEcFilesTask.get().dependsOn(task) // zip follows every jacocoReport task being run
             task.reports {
                 it.xml.isEnabled = true
                 it.html.isEnabled = false
diff --git a/buildSrc/src/main/kotlin/androidx/build/jacoco/Jacoco.kt b/buildSrc/src/main/kotlin/androidx/build/jacoco/Jacoco.kt
index bf41ad9..ebf1a9a 100644
--- a/buildSrc/src/main/kotlin/androidx/build/jacoco/Jacoco.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/jacoco/Jacoco.kt
@@ -94,8 +94,8 @@
      */
     fun createZipEcFilesTask(project: Project): TaskProvider<Zip> {
         // Examples of the two types of ec file :
-        //"./out/androidx/ads-identifier-common/build/outputs/code_coverage/debugAndroidTest/connected/coverage.ec"
-        //./out/androidx/lifecycle/lifecycle-runtime-ktx-lint/build/jacoco/test.exec
+        // "./out/androidx/ads-identifier-common/build/outputs/code_coverage/debugAndroidTest/connected/coverage.ec"
+        // ./out/androidx/lifecycle/lifecycle-runtime-ktx-lint/build/jacoco/test.exec
         Preconditions.checkArgument(project.isRoot, "Must be root project")
         var ecFilesTree: ConfigurableFileTree = project.fileTree(mapOf("dir" to project
             .getRootOutDirectory(), "include" to listOf("**/jacoco/*.exec", "**/coverage.ec")))
@@ -114,7 +114,7 @@
      * Returns the execution-file-zipping-task associated with the root project.
      * This should only be called after the task is created.
      */
-    fun getZipEcFilesTask(project: Project): Task {
-        return project.rootProject.tasks.getByName(EC_FILE_ZIP_TASK_NAME)
+    fun getZipEcFilesTask(project: Project): TaskProvider<Task> {
+        return project.rootProject.tasks.named(EC_FILE_ZIP_TASK_NAME)
     }
 }