apply plugin: 'com.android.library' apply plugin: 'jacoco' task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) { reports { xml.enabled = true html.enabled = true } def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*'] def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter) def mainSrc = "${project.projectDir}/src/main/java" sourceDirectories = files([mainSrc]) classDirectories = files([debugTree]) executionData = fileTree(dir: "$buildDir", includes: [ "jacoco/testDebugUnitTest.exec", "outputs/code-coverage/connected/*coverage.ec" ]) } android { compileSdkVersion compile_sdk_version defaultConfig { minSdkVersion min_sdk_version versionCode version_code versionName version_name } buildTypes { debug { testCoverageEnabled true } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false } testOptions.unitTests.all { testLogging { events 'passed', 'skipped', 'failed', 'standardOut', 'standardError' } } } dependencies { compileOnly "com.android.support:appcompat-v7:$support_version" compileOnly "com.android.support:design:$support_version" testImplementation "junit:junit:$junit_version" testImplementation "org.robolectric:robolectric:$robolectric_version" testImplementation "com.android.support:support-v4:$support_version" } apply from: "../bintrayUpload.gradle" //gradle bintrayUpload