From f7952a9db408521d90c58ebd92cd93a96cd154b3 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Thu, 23 Jul 2015 23:07:58 -0700 Subject: Re-organize gradle files to make them more readable --- config/jacoco.gradle | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 config/jacoco.gradle (limited to 'config') diff --git a/config/jacoco.gradle b/config/jacoco.gradle new file mode 100644 index 0000000..c603349 --- /dev/null +++ b/config/jacoco.gradle @@ -0,0 +1,41 @@ +apply plugin: 'jacoco' + +// By default, Android Gradle plugin uses JaCoCo version 0.7.1, which works great in JUnit on the JVM. +// But that will fail on Android Lollipop/ART runtime, which requires 0.7.3 or higher. +if (rootProject.hasProperty('jacocoVersion')) { + android.jacoco.version = rootProject.property('jacocoVersion') + jacoco.toolVersion = rootProject.property('jacocoVersion') +} else { + println "Using the default JaCoCo version of: ${jacoco.toolVersion}" +} + +// The built-in jacoco plugin automatically applies itself to all Test tasks +tasks.withType(Test).whenTaskAdded { + it.jacoco.append = false + it.jacoco.classDumpFile = file("${project.buildDir}/jacoco/dump") +} + +// These tasks are for generating the coverage report after JUnit+robolectric tests have executed +tasks.create(name: "jacocoTestDebugReport", type: JacocoReport, dependsOn: "testDebug") { + group = "Reporting" + description = "Generate Jacoco coverage reports" + + classDirectories = fileTree( + dir: "${project.buildDir}/intermediates/classes/debug/", + excludes: ['**/R.class', + '**/R$*.class', + '**/*$ViewInjector*.*', + '**/BuildConfig.*', + '**/Manifest*.*'] + ) + + sourceDirectories = files("src/main/java", "src/debug/java") + executionData = files("${project.buildDir}/jacoco/testDebug.exec") + + reports { + xml.enabled = true + html.enabled = true + } +} + +coveralls.jacocoReportPath = "${project.buildDir}/reports/jacoco/jacocoTestDebugReport/jacocoTestDebugReport.xml" \ No newline at end of file -- cgit v1.2.3