Skip to content

Commit 04716e2

Browse files
authored
Merge pull request scoverage#184 from lustefaniak/add-scala-js-support
Add support for scala.js runtime
2 parents b6a6d22 + c7c2897 commit 04716e2

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
3333
coverageScalacPluginVersion := DefaultScoverageVersion,
3434
libraryDependencies ++= {
3535
if (coverageEnabled.value) Seq(
36-
OrgScoverage % (ScalacRuntimeArtifact + "_" + scalaBinaryVersion.value) % coverageScalacPluginVersion.value,
37-
OrgScoverage % (ScalacPluginArtifact + "_" + scalaBinaryVersion.value) % coverageScalacPluginVersion.value % "scoveragePlugin->default(compile)"
36+
OrgScoverage %% (ScalacRuntimeArtifact + optionalScalaJsSuffix(libraryDependencies.value)) % coverageScalacPluginVersion.value,
37+
OrgScoverage %% ScalacPluginArtifact % coverageScalacPluginVersion.value % "scoveragePlugin->default(compile)"
3838
) else Nil
3939
},
4040
scalacOptions in(Compile, compile) ++= scoverageScalacOptions.value,
@@ -63,6 +63,15 @@ object ScoverageSbtPlugin extends AutoPlugin {
6363
extracted.append(newSettings, state)
6464
}
6565

66+
// returns "_sjs$sjsVersion" for Scala.js projects or "" otherwise
67+
private def optionalScalaJsSuffix(deps: Seq[ModuleID]): String = {
68+
val sjsClassifier = deps.collectFirst{
69+
case ModuleID("org.scala-js", "scalajs-library", v, _, _, _, _, _, _, _, _) => v
70+
}.map(_.take(3)).map(sjsVersion => "_sjs" + sjsVersion)
71+
72+
sjsClassifier getOrElse ""
73+
}
74+
6675
private lazy val coverageReport0 = Def.task {
6776
val target = crossTarget.value
6877
val log = streams.value.log

src/sbt-test/scoverage/scalajs/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ lazy val root = (project in file(".")).aggregate(crossJS, crossJVM)
33
lazy val cross = crossProject.in(file("sjstest")).settings(
44
scalaVersion := "2.11.7",
55
libraryDependencies ++= Seq(
6-
"org.scalatest" %%% "scalatest" % "3.0.0-M15" % "test"
6+
"org.scalatest" %%% "scalatest" % "3.0.0" % "test"
77
)
88
)
99

src/sbt-test/scoverage/scalajs/project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ resolvers += Classpaths.sbtPluginReleases
1212
else addSbtPlugin("org.scoverage" %% "sbt-scoverage" % pluginVersion)
1313
}
1414

15-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.8")
15+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.12")

0 commit comments

Comments
 (0)