repo created
This commit is contained in:
commit
1ef725ef20
2483 changed files with 278273 additions and 0 deletions
109
jacoco.gradle
Normal file
109
jacoco.gradle
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
apply plugin: 'jacoco'
|
||||
|
||||
jacoco {
|
||||
toolVersion = "$jacoco_version"
|
||||
}
|
||||
|
||||
// Force Jacoco Version
|
||||
|
||||
subprojects {
|
||||
configurations.all {
|
||||
resolutionStrategy {
|
||||
eachDependency { details ->
|
||||
if ('org.jacoco' == details.requested.group) {
|
||||
details.useVersion "$jacocoVersion"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
project.afterEvaluate { project ->
|
||||
|
||||
tasks.withType(Test) {
|
||||
jacoco.includeNoLocationClasses = true
|
||||
jacoco.excludes = ['jdk.internal.*']
|
||||
}
|
||||
|
||||
final flavor = "Gplay"
|
||||
final buildType = "Debug"
|
||||
final variant = "$flavor${buildType.capitalize()}"
|
||||
final taskName = "jacocoTest${variant.capitalize()}UnitTestReport"
|
||||
|
||||
task "$taskName"(type: JacocoReport, dependsOn: "test${variant.capitalize()}UnitTest") {
|
||||
|
||||
reports {
|
||||
csv.required = Boolean.FALSE
|
||||
xml.required = Boolean.TRUE
|
||||
html.required = Boolean.TRUE
|
||||
}
|
||||
|
||||
final fileFilter = [
|
||||
// data binding
|
||||
'**/databinding/*',
|
||||
'android/databinding/**/*.class',
|
||||
'**/android/databinding/*Binding.class',
|
||||
'**/android/databinding/*',
|
||||
'**/androidx/databinding/*',
|
||||
'**/BR.*',
|
||||
// android
|
||||
'**/R.class',
|
||||
'**/R$*.class',
|
||||
'**/BuildConfig.*',
|
||||
'**/Manifest*.*',
|
||||
'**/*Test*.*',
|
||||
'android/**/*.*',
|
||||
// kotlin
|
||||
'**/*MapperImpl*.*',
|
||||
'**/*$ViewInjector*.*',
|
||||
'**/*$ViewBinder*.*',
|
||||
'**/BuildConfig.*',
|
||||
'**/*Component*.*',
|
||||
'**/*BR*.*',
|
||||
'**/Manifest*.*',
|
||||
'**/*$Lambda$*.*',
|
||||
'**/*Companion*.*',
|
||||
'**/*Module*.*',
|
||||
'**/*Dagger*.*',
|
||||
'**/*Hilt*.*',
|
||||
'**/*MembersInjector*.*',
|
||||
'**/*_MembersInjector.class',
|
||||
'**/*_Factory*.*',
|
||||
'**/*_Provide*Factory*.*',
|
||||
'**/*Extensions*.*',
|
||||
// sealed and data classes
|
||||
'**/*$Result.*',
|
||||
'**/*$Result$*.*',
|
||||
// adapters generated by moshi
|
||||
'**/*JsonAdapter.*',
|
||||
// Hilt
|
||||
'**/*Module.kt',
|
||||
'**/di/**',
|
||||
'dagger.hilt.internal/*',
|
||||
'hilt_aggregated_deps/*',
|
||||
|
||||
'**/*$Result.*', /* filtering `sealed` and `data` classes */
|
||||
'**/*$Result$*.*',/* filtering `sealed` and `data` classes */
|
||||
'**/*Args*.*', /* filtering Navigation Component generated classes */
|
||||
'**/*Directions*.*', /* filtering Navigation Component generated classes */
|
||||
'**/*inlined*.class', /* filtering inlined classes */
|
||||
'**/composables/**'
|
||||
/* INSERT ANY OTHER JUNK YOU WANT FILTERED OUT HERE */
|
||||
]
|
||||
|
||||
final androidKotlinTree = fileTree(dir: "${project.buildDir}/tmp/kotlin-classes/${variant}", excludes: fileFilter)
|
||||
final kotlinTree = fileTree(dir: "${project.buildDir}/classes/kotlin/main", excludes: fileFilter)
|
||||
final javacTree = fileTree(dir: "${project.buildDir}/intermediates/javac/${variant}/classes", excludes: fileFilter)
|
||||
|
||||
final mainSrc = "${project.projectDir}/src/main/java"
|
||||
final productFlavorSrc = "${project.projectDir}/src/${flavor}/java"
|
||||
final buildTypeSrc = "${project.projectDir}/src/${buildType}/java"
|
||||
|
||||
sourceDirectories.setFrom files([mainSrc, productFlavorSrc, buildTypeSrc])
|
||||
classDirectories.setFrom files([androidKotlinTree, kotlinTree, javacTree])
|
||||
executionData.setFrom fileTree(dir: project.buildDir, includes: [
|
||||
"jacoco/test${variant.capitalize()}UnitTest.exec",
|
||||
"outputs/unit_test_code_coverage/${variant}UnitTest/test${variant.capitalize()}UnitTest.exec",
|
||||
])
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue