@@ -48,7 +48,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
48
48
coverageOutputCobertura := true ,
49
49
coverageOutputDebug := false ,
50
50
coverageOutputTeamCity := false ,
51
- coverageScalacPluginVersion := defaultScoverageVersion
51
+ coverageScalacPluginVersion := defaultScoverageVersion,
52
+ coverageSourceRoot := (ThisBuild / baseDirectory).value
52
53
)
53
54
54
55
override def buildSettings : Seq [Setting [_]] = super .buildSettings ++
@@ -102,6 +103,9 @@ object ScoverageSbtPlugin extends AutoPlugin {
102
103
Some (
103
104
s " -P:scoverage:dataDir: ${coverageDataDir.value.getAbsolutePath}/scoverage-data "
104
105
),
106
+ Some (
107
+ s " -P:scoverage:sourceRoot: ${coverageSourceRoot.value.getAbsolutePath}"
108
+ ),
105
109
Option (coverageExcludedPackages.value.trim)
106
110
.filter(_.nonEmpty)
107
111
.map(v => s " -P:scoverage:excludedPackages: $v" ),
@@ -145,7 +149,11 @@ object ScoverageSbtPlugin extends AutoPlugin {
145
149
1000
146
150
) // have noticed some delay in writing on windows, hacky but works
147
151
148
- loadCoverage(target, log) match {
152
+ loadCoverage(
153
+ target,
154
+ log,
155
+ coverageSourceRoot.value.getAbsoluteFile()
156
+ ) match {
149
157
case Some (cov) =>
150
158
writeReports(
151
159
target,
@@ -306,7 +314,11 @@ object ScoverageSbtPlugin extends AutoPlugin {
306
314
)
307
315
}
308
316
309
- private def loadCoverage (crossTarget : File , log : Logger ): Option [Coverage ] = {
317
+ private def loadCoverage (
318
+ crossTarget : File ,
319
+ log : Logger ,
320
+ sourceRoot : File
321
+ ): Option [Coverage ] = {
310
322
311
323
val dataDir = crossTarget / " /scoverage-data"
312
324
val coverageFile = Serializer .coverageFile(dataDir)
@@ -315,7 +327,10 @@ object ScoverageSbtPlugin extends AutoPlugin {
315
327
316
328
if (coverageFile.exists) {
317
329
318
- val coverage = Serializer .deserialize(coverageFile)
330
+ val coverage = Serializer .deserialize(
331
+ coverageFile,
332
+ sourceRoot
333
+ )
319
334
320
335
log.info(s " Reading scoverage measurements... " )
321
336
val measurementFiles = IOUtils .findMeasurementFiles(dataDir)
0 commit comments