Skip to content

Commit 454b6fc

Browse files
committed
Initial changes necessary for V2
1 parent ba36cd3 commit 454b6fc

File tree

3 files changed

+21
-5
lines changed

3 files changed

+21
-5
lines changed

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name := "sbt-scoverage"
22

33
import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts
44

5-
def scoverageVersion = "1.4.9"
5+
def scoverageVersion = "1.4.9+9-a154d161+20210925-1028-SNAPSHOT"
66

77
inThisBuild(
88
List(

src/main/scala/scoverage/ScoverageKeys.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ object ScoverageKeys {
1919
lazy val coverageOutputTeamCity = settingKey[Boolean]("turn on teamcity reporting")
2020
lazy val coverageScalacPluginVersion = settingKey[String]("version of scalac-scoverage-plugin to use")
2121
lazy val coverageDataDir = settingKey[File]("directory where the measurements and report files will be stored")
22+
lazy val coverageSourceRoot = settingKey[File]("the source root of the project")
2223
// format: on
2324

2425
@deprecated("Use coverageMinimumStmtTotal instead", "v1.8.0")

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
4848
coverageOutputCobertura := true,
4949
coverageOutputDebug := false,
5050
coverageOutputTeamCity := false,
51-
coverageScalacPluginVersion := defaultScoverageVersion
51+
coverageScalacPluginVersion := defaultScoverageVersion,
52+
coverageSourceRoot := (ThisBuild / baseDirectory).value
5253
)
5354

5455
override def buildSettings: Seq[Setting[_]] = super.buildSettings ++
@@ -102,6 +103,9 @@ object ScoverageSbtPlugin extends AutoPlugin {
102103
Some(
103104
s"-P:scoverage:dataDir:${coverageDataDir.value.getAbsolutePath}/scoverage-data"
104105
),
106+
Some(
107+
s"-P:scoverage:sourceRoot:${coverageSourceRoot.value.getAbsolutePath}"
108+
),
105109
Option(coverageExcludedPackages.value.trim)
106110
.filter(_.nonEmpty)
107111
.map(v => s"-P:scoverage:excludedPackages:$v"),
@@ -145,7 +149,11 @@ object ScoverageSbtPlugin extends AutoPlugin {
145149
1000
146150
) // have noticed some delay in writing on windows, hacky but works
147151

148-
loadCoverage(target, log) match {
152+
loadCoverage(
153+
target,
154+
log,
155+
coverageSourceRoot.value.getAbsoluteFile()
156+
) match {
149157
case Some(cov) =>
150158
writeReports(
151159
target,
@@ -306,7 +314,11 @@ object ScoverageSbtPlugin extends AutoPlugin {
306314
)
307315
}
308316

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] = {
310322

311323
val dataDir = crossTarget / "/scoverage-data"
312324
val coverageFile = Serializer.coverageFile(dataDir)
@@ -315,7 +327,10 @@ object ScoverageSbtPlugin extends AutoPlugin {
315327

316328
if (coverageFile.exists) {
317329

318-
val coverage = Serializer.deserialize(coverageFile)
330+
val coverage = Serializer.deserialize(
331+
coverageFile,
332+
sourceRoot
333+
)
319334

320335
log.info(s"Reading scoverage measurements...")
321336
val measurementFiles = IOUtils.findMeasurementFiles(dataDir)

0 commit comments

Comments
 (0)