diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 59fb705..4ddf417 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -11,6 +11,7 @@
+
diff --git a/.idea/scala_compiler.xml b/.idea/scala_compiler.xml
index 1b2a733..2ea7ae8 100644
--- a/.idea/scala_compiler.xml
+++ b/.idea/scala_compiler.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/build.gradle.kts b/build.gradle.kts
index 7837350..ccf1c3d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -21,7 +21,15 @@ sonar {
if (report.exists()) report.absolutePath else null
}.joinToString(",")
+ val jacocoReports = subprojects.mapNotNull { subproject ->
+ val report = subproject.file("build/reports/jacoco/test/jacocoTestReport.xml")
+ if (report.exists()) report.absolutePath else null
+ }.joinToString(",")
+
property("sonar.scala.coverage.reportPaths", scoverageReports)
+ if (jacocoReports.isNotEmpty()) {
+ property("sonar.coverage.jacoco.xmlReportPaths", jacocoReports)
+ }
}
}
diff --git a/modules/backcore/build.gradle.kts b/modules/backcore/build.gradle.kts
index 8e45cdf..14f8eb5 100644
--- a/modules/backcore/build.gradle.kts
+++ b/modules/backcore/build.gradle.kts
@@ -2,6 +2,7 @@ plugins {
id("scala")
id("org.scoverage") version "8.1"
id("io.quarkus")
+ id("jacoco")
}
@Suppress("UNCHECKED_CAST")
@@ -47,6 +48,7 @@ dependencies {
testImplementation("org.scalatest:scalatest_3:${versions["SCALATEST"]!!}")
testImplementation("co.helmethair:scalatest-junit-runner:${versions["SCALATEST_JUNIT"]!!}")
testImplementation("io.quarkus:quarkus-junit5")
+ testImplementation("io.quarkus:quarkus-jacoco")
testImplementation("io.rest-assured:rest-assured")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
@@ -81,8 +83,19 @@ tasks.test {
testLogging {
events("passed", "skipped", "failed")
}
- finalizedBy(tasks.reportScoverage)
+ finalizedBy(tasks.named("jacocoTestReport"))
}
-tasks.reportScoverage {
+
+tasks.jacocoTestReport {
dependsOn(tasks.test)
+ executionData.setFrom(layout.buildDirectory.file("jacoco-quarkus.exec"))
+ sourceDirectories.setFrom(files("src/main/scala"))
+ classDirectories.setFrom(files(layout.buildDirectory.dir("classes/scala/main")))
+ reports {
+ xml.required.set(true)
+ xml.outputLocation.set(
+ layout.buildDirectory.file("reports/jacoco/test/jacocoTestReport.xml")
+ )
+ html.required.set(false)
+ }
}
diff --git a/modules/backcore/src/main/resources/application.yml b/modules/backcore/src/main/resources/application.yml
index 85b85bb..64be244 100644
--- a/modules/backcore/src/main/resources/application.yml
+++ b/modules/backcore/src/main/resources/application.yml
@@ -1,3 +1,6 @@
quarkus:
http:
port: 8080
+ jacoco:
+ data-file: ${user.dir}/build/jacoco-quarkus.exec
+ report: false