Skip to content

Commit fa11d8d

Browse files
committed
refactor: account for new serializer module
1 parent 37e8686 commit fa11d8d

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

.scalafmt.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
version = "3.0.8"
2+
project.git = true
3+
runner.dialect = "scala213"

build.sbt

Lines changed: 2 additions & 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-
lazy val scoverageVersion = "14.0.0"
5+
lazy val scoverageVersion = "15.0.0"
66

77
inThisBuild(
88
List(
@@ -36,6 +36,7 @@ lazy val root = Project("sbt-scoverage", file("."))
3636
"org.scoverage" %% "scalac-scoverage-plugin" % scoverageVersion cross (CrossVersion.full),
3737
"org.scoverage" %% "scalac-scoverage-reporter" % scoverageVersion,
3838
"org.scoverage" %% "scalac-scoverage-domain" % scoverageVersion,
39+
"org.scoverage" %% "scalac-scoverage-serializer" % scoverageVersion
3940
),
4041
buildInfoKeys := Seq[BuildInfoKey]("scoverageVersion" -> scoverageVersion),
4142
buildInfoPackage := "scoverage",

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import scoverage.reporter.CoverageAggregator
1010
import scoverage.reporter.IOUtils
1111
import scoverage.reporter.ScoverageHtmlWriter
1212
import scoverage.reporter.ScoverageXmlWriter
13-
import scoverage.reporter.Deserializer
13+
import scoverage.serialize.Serializer
1414

1515
import java.time.Instant
1616

@@ -21,6 +21,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
2121
val scalacPluginArtifact = "scalac-scoverage-plugin"
2222
val scalacDomainArtifact = "scalac-scoverage-domain"
2323
val scalacReporterArtifact = "scalac-scoverage-reporter"
24+
val scalacSerializerArtifact = "scalac-scoverage-serializer"
2425
val defaultScoverageVersion = BuildInfo.scoverageVersion
2526
val autoImport = ScoverageKeys
2627
lazy val ScoveragePluginConfig = config("scoveragePlugin").hide
@@ -81,11 +82,11 @@ object ScoverageSbtPlugin extends AutoPlugin {
8182

8283
private lazy val coverageSettings = Seq(
8384
libraryDependencies ++= {
84-
// TODO check will need to go here for Scala 3 to not add everthing
8585
if (coverageEnabled.value && isScala2(scalaVersion.value)) {
8686
Seq(
8787
orgScoverage %% scalacDomainArtifact % coverageScalacPluginVersion.value,
8888
orgScoverage %% scalacReporterArtifact % coverageScalacPluginVersion.value,
89+
orgScoverage %% scalacSerializerArtifact % coverageScalacPluginVersion.value,
8990
// We only add for "compile" because of macros. This setting could be optimed to just "test" if the handling
9091
// of macro coverage was improved.
9192
orgScoverage %% (scalacRuntime(
@@ -115,20 +116,24 @@ object ScoverageSbtPlugin extends AutoPlugin {
115116
// includes everything it needs for the compiler plugin phase:
116117
// 1. the plugin jar
117118
// 2. the domain jar
119+
// 3. the serializer jar
118120
// NOTE: Even though you'd think that since plugin relies on domain
119121
// it'd just auto include it... it doesn't.
120122
// https://github.com/sbt/sbt/issues/2255
121123
val pluginPaths = scoverageDeps.collect {
122124
case path
123125
if path.getAbsolutePath().contains(scalacPluginArtifact) || path
124126
.getAbsolutePath()
125-
.contains(scalacDomainArtifact) =>
127+
.contains(scalacDomainArtifact) ||
128+
path.getAbsolutePath().contains(scalacSerializerArtifact) =>
126129
path.getAbsolutePath()
127130
}
128131

129-
if (pluginPaths.size != 2)
132+
// NOTE: A little hacky, but make sure we are matching on the exact
133+
// number of deps that we expect to collect up above.
134+
if (pluginPaths.size != 3)
130135
throw new Exception(
131-
s"Fatal: Not finding either $scalacDomainArtifact or $scalacPluginArtifact in libraryDependencies."
136+
s"Fatal: Not finding either $scalacDomainArtifact or $scalacPluginArtifact or $scalacSerializerArtifact in libraryDependencies."
132137
)
133138

134139
Seq(
@@ -379,13 +384,13 @@ object ScoverageSbtPlugin extends AutoPlugin {
379384
): Option[Coverage] = {
380385

381386
val dataDir = crossTarget / "/scoverage-data"
382-
val coverageFile = Deserializer.coverageFile(dataDir)
387+
val coverageFile = Serializer.coverageFile(dataDir)
383388

384389
log.info(s"Reading scoverage instrumentation [$coverageFile]")
385390

386391
if (coverageFile.exists) {
387392

388-
val coverage = Deserializer.deserialize(
393+
val coverage = Serializer.deserialize(
389394
coverageFile,
390395
sourceRoot
391396
)

0 commit comments

Comments
 (0)