Merge "Move to a cleaner way of creating Jacoco Ant Uber Jar." into oc-mr1-support-27.0-dev
diff --git a/buildSrc/build_dependencies.gradle b/buildSrc/build_dependencies.gradle
index 02e1411..d8a68ee 100644
--- a/buildSrc/build_dependencies.gradle
+++ b/buildSrc/build_dependencies.gradle
@@ -29,6 +29,7 @@
 build_libs.jarjar_gradle = 'org.anarres.jarjar:jarjar-gradle:1.0.0'
 build_libs.error_prone = 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.13'
 build_libs.jacoco = 'org.jacoco:org.jacoco.core:0.7.8'
+build_libs.jacoco_ant = 'org.jacoco:org.jacoco.ant:0.7.8'
 build_libs.kotlin = [gradle_plugin: "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0"]
 // jdiff dependencies
 build_libs.xml_parser_apis = 'xerces:xmlParserAPIs:2.6.2'
diff --git a/buildSrc/init.gradle b/buildSrc/init.gradle
index d47d5e8..99d5c42 100644
--- a/buildSrc/init.gradle
+++ b/buildSrc/init.gradle
@@ -17,7 +17,6 @@
 
 import android.support.DiffAndDocs
 import android.support.gmaven.GMavenVersionChecker
-import com.android.build.gradle.internal.coverage.JacocoPlugin
 import com.android.build.gradle.internal.coverage.JacocoReportTask
 import com.android.build.gradle.internal.tasks.DeviceProviderInstrumentTestTask
 import org.gradle.api.logging.configuration.ShowStacktrace
@@ -136,6 +135,29 @@
             }
         }
     }
+    buildOnServerTask.dependsOn createJacocoAntUberJarTask()
+}
+
+def createJacocoAntUberJarTask() {
+    def myJacoco = project.configurations.create('myJacoco')
+    project.dependencies.add('myJacoco', build_libs.jacoco_ant)
+
+    return project.tasks.create(
+            name: "JacocoAntUberJar",
+            type: Jar) {
+        inputs.files myJacoco
+        from {
+            myJacoco
+                    .resolvedConfiguration
+                    .resolvedArtifacts.collect{ zipTree(it.getFile()) }} {
+            // exclude all the signatures the jar might have
+            exclude "META-INF/*.SF"
+            exclude "META-INF/*.DSA"
+            exclude "META-INF/*.RSA"
+        }
+        destinationDir file(project.distDir)
+        archiveName "jacocoant.jar"
+    }
 }
 
 def configureSubProjects() {
@@ -192,25 +214,8 @@
                             archiveName "${project.name}-${v.baseName}-allclasses.jar"
                         }
 
-                        def collectJacocoAntPackages = project.tasks.create(
-                                name: "collectJacocoAntPackages",
-                                type: Jar) {
-                            inputs.files project.configurations[JacocoPlugin.ANT_CONFIGURATION_NAME]
-                            from {
-                                project.configurations[JacocoPlugin.ANT_CONFIGURATION_NAME]
-                                        .resolvedConfiguration
-                                        .resolvedArtifacts.collect{ zipTree(it.getFile()) }} {
-                                    // exclude all the signatures the jar might have
-                                    exclude "META-INF/*.SF"
-                                    exclude "META-INF/*.DSA"
-                                    exclude "META-INF/*.RSA"
-                                }
-                            destinationDir file(project.distDir)
-                            archiveName "jacocoant.jar"
-                        }
-
                         jarifyTask.dependsOn v.getJavaCompiler()
-                        v.assemble.dependsOn jarifyTask , collectJacocoAntPackages
+                        v.assemble.dependsOn jarifyTask
                     }
                 }