Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
philipp94831 committed Jan 22, 2025
1 parent 64d5916 commit 100e7ba
Showing 1 changed file with 29 additions and 3 deletions.
32 changes: 29 additions & 3 deletions sonar/src/main/kotlin/com/bakdata/gradle/SonarPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,9 @@ import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.logging.Logging
import org.gradle.api.plugins.JavaPlugin
import org.gradle.api.tasks.SourceSetContainer
import org.gradle.api.tasks.testing.Test
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.withType
import org.gradle.kotlin.dsl.*
import org.gradle.testing.jacoco.plugins.JacocoPluginExtension
import org.gradle.testing.jacoco.tasks.JacocoReport

Expand Down Expand Up @@ -81,6 +80,33 @@ class SonarPlugin : Plugin<Project> {
}
}
}

if (subprojects.isNotEmpty()) {
tasks.register<JacocoReport>("jacocoRootReport") {
subprojects {
executionData(tasks.withType<JacocoReport>().map { it.executionData })

plugins.matching { it is JavaPlugin }.all {
sourceDirectories.from(files(project.the<SourceSetContainer>()["main"].allSource.srcDirs))
classDirectories.from(files(project.the<SourceSetContainer>()["main"].output))
}
}
reports {
html.required.set(true)
xml.required.set(true)
csv.required.set(false)
}
}

// using a newer feature of sonarqube to use the xml reports which also makes it language-agnostic
configure<org.sonarqube.gradle.SonarExtension> {
properties {
property(
"sonar.coverage.jacoco.xmlReportPaths",
rootProject.tasks.withType<JacocoReport>().map { it.reports.xml.outputLocation.asFile })
}
}
}
}
}
}

0 comments on commit 100e7ba

Please sign in to comment.