This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* How to run? | |
* | |
* App Module: | |
* ./gradlew app:testAppDebugUnitTestCoverage | |
* ./gradlew app:testBetaDebugUnitTestCoverage | |
* ./gradlew app:testProdDebugUnitTestCoverage | |
* | |
* Domain Module: | |
* ./gradlew domain:jacocoTestReport |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static boolean isAndroidModule(Project project) { | |
boolean isAndroidLibrary = project.plugins.hasPlugin('com.android.library') | |
boolean isAndroidApp = project.plugins.hasPlugin('com.android.application') | |
return isAndroidLibrary || isAndroidApp | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
afterEvaluate { project -> | |
def projectName = project.name | |
if (isAndroidModule(project)) setupAndroidReporting() | |
else setupKotlinReporting() | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def setupKotlinReporting() { | |
jacocoTestReport { | |
dependsOn test | |
reports { | |
csv.enabled false // change if needed | |
xml.enabled false // change if needed | |
html { | |
enabled true | |
destination file("${buildDir}/coverage-report") | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static boolean isAndroidModule(Project project) { | |
boolean isAndroidLibrary = project.plugins.hasPlugin('com.android.library') | |
boolean isAndroidApp = project.plugins.hasPlugin('com.android.application') | |
return isAndroidLibrary || isAndroidApp | |
} | |
afterEvaluate { project -> | |
def projectName = project.name | |
if (isAndroidModule(project)) setupAndroidReporting() | |
else setupKotlinReporting() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'com.android.application' | |
apply plugin: 'kotlin-android' | |
apply plugin: 'kotlin-kapt' | |
apply plugin: 'kotlin-android-extensions' | |
apply plugin: 'jacoco' | |
apply from: "$project.rootDir/tools/script-jacoco.gradle" | |
android { | |
// Code omitted for brevity |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'java-library' | |
apply plugin: 'kotlin' | |
apply plugin: 'kotlin-kapt' | |
apply plugin: 'jacoco' | |
apply from: "$project.rootDir/tools/script-jacoco.gradle" | |
dependencies { | |
// Code omitted for brevity | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'com.android.library' | |
apply plugin: 'kotlin-android' | |
apply plugin: 'kotlin-kapt' | |
apply plugin: 'kotlin-android-extensions' | |
apply plugin: 'jacoco' | |
apply from: "$project.rootDir/tools/script-jacoco.gradle" | |
android { | |
// Code omitted for brevity |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def setupAndroidReporting() { | |
// 1 | |
tasks.withType(Test) { | |
// Whether or not classes without source location should be instrumented | |
jacoco.includeNoLocationClasses true | |
} | |
// Grab all build types and product flavors | |
// 2 | |
def buildTypes = android.buildTypes.collect { type -> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.myapplication | |
import android.app.AlertDialog | |
import android.app.Dialog | |
import android.content.Context | |
import android.os.Bundle | |
import android.text.TextUtils | |
import androidx.fragment.app.DialogFragment | |
/** |