From e04c5f29177bf876b148af55c3b7d9f1a58857c7 Mon Sep 17 00:00:00 2001 From: Luciano Balmaceda Date: Thu, 24 Nov 2016 11:03:51 -0300 Subject: [PATCH] fix coverage reports --- auth0/build.gradle | 2 +- build.gradle | 1 - scripts/jacoco.gradle | 56 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 scripts/jacoco.gradle diff --git a/auth0/build.gradle b/auth0/build.gradle index 007a6f2d5..d26446a79 100644 --- a/auth0/build.gradle +++ b/auth0/build.gradle @@ -23,7 +23,7 @@ */ apply plugin: 'com.android.library' -apply plugin: 'jacoco-android' +apply from: '../scripts/jacoco.gradle' def semver = defineVersion() version = semver.stringVersion diff --git a/build.gradle b/build.gradle index e32670482..7b0c1feee 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,6 @@ buildscript { jcenter() } dependencies { - classpath 'com.dicedmelon.gradle:jacoco-android:0.1.1' classpath 'com.android.tools.build:gradle:2.2.0' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' diff --git a/scripts/jacoco.gradle b/scripts/jacoco.gradle new file mode 100644 index 000000000..6d73bc87d --- /dev/null +++ b/scripts/jacoco.gradle @@ -0,0 +1,56 @@ +apply plugin: 'jacoco' + +jacoco { + // https://bintray.com/bintray/jcenter/org.jacoco:org.jacoco.core + toolVersion = "0.7.7.201606060606" +} + +android { + testOptions { + unitTests.all { + jacoco { + includeNoLocationClasses = true + } + } + } +} + +project.afterEvaluate { + + def jacocoTestReportTask = tasks.findByName("jacocoTestReport") + if (!jacocoTestReportTask) { + jacocoTestReportTask = tasks.create("jacocoTestReport") + jacocoTestReportTask.group = "Reporting" + jacocoTestReportTask.description = "Generate Jacoco coverage reports for all builds." + } + + android.libraryVariants.all { variant -> + def name = variant.name + def testTaskName = "test${name.capitalize()}UnitTest" + + def reportTask = tasks.create(name: "jacocoTest${name.capitalize()}UnitTestReport", type: JacocoReport, dependsOn: "$testTaskName") { + group = "Reporting" + description = "Generate Jacoco coverage reports for the ${name.capitalize()} build." + + classDirectories = fileTree( + dir: "${project.buildDir}/intermediates/classes/${name}", + excludes: ['**/R.class', + '**/R$*.class', + '**/*$ViewInjector*.*', + '**/*$ViewBinder*.*', + '**/BuildConfig.*', + '**/Manifest*.*'] + ) + + sourceDirectories = files(['src/main/java'].plus(android.sourceSets[name].java.srcDirs)) + executionData = files("${project.buildDir}/jacoco/${testTaskName}.exec") + + reports { + xml.enabled = true + html.enabled = true + } + } + + jacocoTestReportTask.dependsOn reportTask + } +} \ No newline at end of file