mirror of
https://github.com/ultrasonic/ultrasonic
synced 2025-02-16 19:50:35 +01:00
Merge pull request #749 from ultrasonic/ready/removeJacoco
Remove Jacoco, closes #751
This commit is contained in:
commit
5deb7d4d58
@ -41,7 +41,6 @@ jobs:
|
|||||||
name: unit-tests
|
name: unit-tests
|
||||||
command: |
|
command: |
|
||||||
./gradlew ciTest testDebugUnitTest
|
./gradlew ciTest testDebugUnitTest
|
||||||
./gradlew jacocoFullReport
|
|
||||||
- run:
|
- run:
|
||||||
name: lint
|
name: lint
|
||||||
command: ./gradlew :ultrasonic:lintRelease
|
command: ./gradlew :ultrasonic:lintRelease
|
||||||
@ -61,8 +60,6 @@ jobs:
|
|||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: subsonic-api/build/reports
|
path: subsonic-api/build/reports
|
||||||
destination: reports
|
destination: reports
|
||||||
- store_artifacts:
|
|
||||||
path: build/reports/jacoco/jacocoFullReport/
|
|
||||||
push_translations:
|
push_translations:
|
||||||
docker:
|
docker:
|
||||||
- image: cimg/python:3.6
|
- image: cimg/python:3.6
|
||||||
|
@ -17,7 +17,6 @@ buildscript {
|
|||||||
classpath libs.kotlin
|
classpath libs.kotlin
|
||||||
classpath libs.ktlintGradle
|
classpath libs.ktlintGradle
|
||||||
classpath libs.detekt
|
classpath libs.detekt
|
||||||
classpath libs.jacoco
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,8 +43,6 @@ allprojects {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: 'gradle_scripts/jacoco.gradle'
|
|
||||||
|
|
||||||
wrapper {
|
wrapper {
|
||||||
gradleVersion(libs.versions.gradle.get())
|
gradleVersion(libs.versions.gradle.get())
|
||||||
distributionType("all")
|
distributionType("all")
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
apply from: bootstrap.androidModule
|
apply from: bootstrap.androidModule
|
||||||
apply plugin: 'kotlin-kapt'
|
apply plugin: 'kotlin-kapt'
|
||||||
|
|
||||||
ext {
|
|
||||||
jacocoExclude = [
|
|
||||||
'**/domain/**'
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation libs.roomRuntime
|
implementation libs.roomRuntime
|
||||||
implementation libs.roomKtx
|
implementation libs.roomKtx
|
||||||
|
@ -20,11 +20,3 @@ dependencies {
|
|||||||
testImplementation libs.mockWebServer
|
testImplementation libs.mockWebServer
|
||||||
testImplementation libs.apacheCodecs
|
testImplementation libs.apacheCodecs
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
|
||||||
// Excluding data classes
|
|
||||||
jacocoExclude = [
|
|
||||||
'**/models/**',
|
|
||||||
'**/di/**'
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
@ -8,7 +8,6 @@ androidxcore = "1.6.0"
|
|||||||
ktlint = "0.43.2"
|
ktlint = "0.43.2"
|
||||||
ktlintGradle = "10.2.0"
|
ktlintGradle = "10.2.0"
|
||||||
detekt = "1.19.0"
|
detekt = "1.19.0"
|
||||||
jacoco = "0.8.7"
|
|
||||||
preferences = "1.1.1"
|
preferences = "1.1.1"
|
||||||
media = "1.3.1"
|
media = "1.3.1"
|
||||||
media3 = "1.0.0-alpha03"
|
media3 = "1.0.0-alpha03"
|
||||||
@ -49,7 +48,6 @@ gradle = { module = "com.android.tools.build:gradle", version.r
|
|||||||
kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
||||||
ktlintGradle = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlintGradle" }
|
ktlintGradle = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlintGradle" }
|
||||||
detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
|
detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
|
||||||
jacoco = { module = "org.jacoco:org.jacoco.core", version.ref = "jacoco" }
|
|
||||||
|
|
||||||
core = { module = "androidx.core:core-ktx", version.ref = "androidxcore" }
|
core = { module = "androidx.core:core-ktx", version.ref = "androidxcore" }
|
||||||
support = { module = "androidx.legacy:legacy-support-v4", version.ref = "androidLegacySupport" }
|
support = { module = "androidx.legacy:legacy-support-v4", version.ref = "androidLegacySupport" }
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
apply plugin: 'kotlin-android'
|
apply plugin: 'kotlin-android'
|
||||||
apply plugin: 'jacoco'
|
|
||||||
apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle"
|
apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle"
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@ -48,10 +47,6 @@ android {
|
|||||||
|
|
||||||
tasks.withType(Test) {
|
tasks.withType(Test) {
|
||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
jacoco {
|
|
||||||
includeNoLocationClasses = true
|
|
||||||
excludes += jacocoExclude
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -61,11 +56,4 @@ dependencies {
|
|||||||
testRuntimeOnly libs.junitVintage
|
testRuntimeOnly libs.junitVintage
|
||||||
}
|
}
|
||||||
|
|
||||||
jacoco {
|
|
||||||
toolVersion(libs.versions.jacoco.get())
|
|
||||||
}
|
|
||||||
|
|
||||||
ext {
|
|
||||||
jacocoExclude = ['jdk.internal.*']
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -1,92 +0,0 @@
|
|||||||
apply plugin: 'jacoco'
|
|
||||||
|
|
||||||
jacoco {
|
|
||||||
toolVersion(libs.versions.jacoco.get())
|
|
||||||
}
|
|
||||||
|
|
||||||
def mergedJacocoExec = file("${project.buildDir}/jacoco/jacocoMerged.exec")
|
|
||||||
|
|
||||||
def merge = tasks.register('jacocoMergeReports', JacocoMerge) {
|
|
||||||
group = "Reporting"
|
|
||||||
description = "Merge all jacoco reports from projects into one."
|
|
||||||
|
|
||||||
ListProperty<File> jacocoFiles = project.objects.listProperty(File.class)
|
|
||||||
project.subprojects { subproject ->
|
|
||||||
subproject.plugins.withId("jacoco") {
|
|
||||||
project.logger.info("${subproject.name} has Jacoco plugin applied")
|
|
||||||
subproject.tasks.withType(Test) { task ->
|
|
||||||
File destFile = task.extensions.getByType(JacocoTaskExtension.class).destinationFile
|
|
||||||
if (destFile.exists() && !task.name.contains("Release")) {
|
|
||||||
jacocoFiles.add(destFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
executionData(jacocoFiles)
|
|
||||||
destinationFile(mergedJacocoExec)
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.register('jacocoFullReport', JacocoReport) {
|
|
||||||
dependsOn merge
|
|
||||||
group = "Reporting"
|
|
||||||
description = "Generate full Jacoco coverage report including all modules."
|
|
||||||
|
|
||||||
getClassDirectories().setFrom(files())
|
|
||||||
getSourceDirectories().setFrom(files())
|
|
||||||
getExecutionData().setFrom(files())
|
|
||||||
|
|
||||||
reports {
|
|
||||||
xml.enabled = true
|
|
||||||
html.enabled = true
|
|
||||||
csv.enabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Always run merging, as all input calculation is done in doFirst {}
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
// Task will run anyway even if initial inputs are empty
|
|
||||||
onlyIf = { true }
|
|
||||||
|
|
||||||
project.subprojects { subproject ->
|
|
||||||
subproject.plugins.withId("jacoco") {
|
|
||||||
project.logger.info("${subproject.name} has Jacoco plugin applied")
|
|
||||||
subproject.plugins.withId("kotlin-android") {
|
|
||||||
project.logger.info("${subproject.name} is android project")
|
|
||||||
def mainSources = subproject.extensions.findByName("android").sourceSets['main']
|
|
||||||
project.logger.info("Android sources: ${mainSources.java.srcDirs}")
|
|
||||||
mainSources.java.srcDirs.forEach {
|
|
||||||
additionalSourceDirs(it)
|
|
||||||
}
|
|
||||||
project.logger.info("Subproject exclude: ${subproject.jacocoExclude}")
|
|
||||||
additionalClassDirs(fileTree(
|
|
||||||
dir: "${subproject.buildDir}/tmp/kotlin-classes/debug",
|
|
||||||
excludes: subproject.jacocoExclude
|
|
||||||
))
|
|
||||||
}
|
|
||||||
subproject.plugins.withId("kotlin") { plugin ->
|
|
||||||
project.logger.info("${subproject.name} is common kotlin project")
|
|
||||||
SourceDirectorySet mainSources = subproject.extensions.getByName("kotlin")
|
|
||||||
.sourceSets[SourceSet.MAIN_SOURCE_SET_NAME]
|
|
||||||
.kotlin
|
|
||||||
mainSources.srcDirs.forEach {
|
|
||||||
project.logger.debug("Adding sources: $it")
|
|
||||||
additionalSourceDirs(it)
|
|
||||||
}
|
|
||||||
project.logger.info("Subproject exclude: ${subproject.jacocoExclude}")
|
|
||||||
additionalClassDirs(fileTree(
|
|
||||||
dir: "${subproject.buildDir}/classes/kotlin/main",
|
|
||||||
excludes: subproject.jacocoExclude
|
|
||||||
))
|
|
||||||
}
|
|
||||||
|
|
||||||
subproject.tasks.withType(Test) { task ->
|
|
||||||
File destFile = task.extensions.getByType(JacocoTaskExtension.class).destinationFile
|
|
||||||
if (destFile.exists() && !task.name.contains("Release")) {
|
|
||||||
project.logger.info("Adding execution data: $destFile")
|
|
||||||
executionData(destFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -3,7 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
apply plugin: 'kotlin'
|
apply plugin: 'kotlin'
|
||||||
apply plugin: 'kotlin-kapt'
|
apply plugin: 'kotlin-kapt'
|
||||||
apply plugin: 'jacoco'
|
|
||||||
apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle"
|
apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle"
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@ -21,36 +20,8 @@ dependencies {
|
|||||||
testRuntimeOnly libs.junitVintage
|
testRuntimeOnly libs.junitVintage
|
||||||
}
|
}
|
||||||
|
|
||||||
jacoco {
|
|
||||||
toolVersion(libs.versions.jacoco.get())
|
|
||||||
}
|
|
||||||
|
|
||||||
ext {
|
|
||||||
// override it in the module
|
|
||||||
jacocoExclude = ['jdk.internal.*']
|
|
||||||
}
|
|
||||||
|
|
||||||
jacocoTestReport {
|
|
||||||
reports {
|
|
||||||
html.required = true
|
|
||||||
xml.required = false
|
|
||||||
csv.required = false
|
|
||||||
}
|
|
||||||
|
|
||||||
afterEvaluate {
|
|
||||||
getClassDirectories().setFrom(files(classDirectories.files.collect {
|
|
||||||
fileTree(dir: it, excludes: jacocoExclude)
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named("test").configure {
|
tasks.named("test").configure {
|
||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
jacoco {
|
|
||||||
excludes += jacocoExclude
|
|
||||||
includeNoLocationClasses = true
|
|
||||||
}
|
|
||||||
finalizedBy jacocoTestReport
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register("ciTest") {
|
tasks.register("ciTest") {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
apply plugin: 'kotlin-android'
|
apply plugin: 'kotlin-android'
|
||||||
apply plugin: 'kotlin-kapt'
|
apply plugin: 'kotlin-kapt'
|
||||||
apply plugin: 'jacoco'
|
|
||||||
apply from: "../gradle_scripts/code_quality.gradle"
|
apply from: "../gradle_scripts/code_quality.gradle"
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@ -135,36 +134,3 @@ dependencies {
|
|||||||
|
|
||||||
implementation libs.timber
|
implementation libs.timber
|
||||||
}
|
}
|
||||||
|
|
||||||
jacoco {
|
|
||||||
toolVersion(libs.versions.jacoco.get())
|
|
||||||
}
|
|
||||||
|
|
||||||
// Excluding all java classes and stuff that should not be covered
|
|
||||||
ext {
|
|
||||||
jacocoExclude = [
|
|
||||||
'**/activity/**',
|
|
||||||
'**/audiofx/**',
|
|
||||||
'**/fragment/**',
|
|
||||||
'**/provider/**',
|
|
||||||
'**/receiver/**',
|
|
||||||
'**/service/**',
|
|
||||||
'**/Test/**',
|
|
||||||
'**/util/**',
|
|
||||||
'**/view/**',
|
|
||||||
'**/R$*.class',
|
|
||||||
'**/R.class',
|
|
||||||
'**/BuildConfig.class',
|
|
||||||
'**/di/**',
|
|
||||||
'jdk.internal.*'
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
jacoco {
|
|
||||||
toolVersion(libs.versions.jacoco.get())
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.withType(Test) {
|
|
||||||
jacoco.includeNoLocationClasses = true
|
|
||||||
jacoco.excludes += jacocoExclude
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user