diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 0586c18d..400a733b 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -15,14 +15,7 @@ jobs:
java: [ '11' ]
scala: [
{ version: '2.12.13' },
- { version: '2.12.12' },
- { version: '2.12.11' },
- { version: '2.12.10' },
- { version: '2.13.4' },
- { version: '2.13.3' },
- { version: '2.13.2' },
- { version: '2.13.1' },
- { version: '2.13.0' }
+ { version: '2.12.10' }
]
steps:
- name: checkout the repo
diff --git a/README.md b/README.md
index e00dd71a..edd70463 100644
--- a/README.md
+++ b/README.md
@@ -15,16 +15,12 @@ discussion on scoverage.
Make sure your SBT version in project/build.properties:
```
-sbt.version = 0.13.17
-```
-or
-```
-sbt.version = 1.1.1
+sbt.version = 1.2.8
```
Add the plugin in project/plugins.sbt:
```scala
-addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1")
+addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.2")
```
Run the tests with enabled coverage:
@@ -54,6 +50,10 @@ turn it back off when you're done running reports, use the `coverageOff` command
Sample project with scoverage in both sbt and maven - [the scoverage samples project](https://github.com/scoverage/sbt-scoverage-samples).
+## Notes on upgrading to version 1.6.x
+* ´coverageCleanSubprojectFiles´ key has been removed
+* scala version 2.12+ is required as a minimum (due to scoverage suppport)
+
## Notes on upgrading to version 1.6.0
* `coverageAggregate` aggregates raw coverage data, not coverage xml reports for modules.
@@ -117,14 +117,6 @@ coverageFailOnMinimum := true
These settings will be enforced when the reports are generated.
If you generate an aggregate report using `coverageAggregate` then these settings will apply to that report.
-## Highlighting
-
-If you are using Scala 2.11.1 or less, then highlighting will not work (due to this bug which was fixed in 2.11.2 https://github.com/scala/scala/pull/3799). In that case you must disable highlighting by adding the following to your build:
-
-```scala
-coverageHighlighting := false
-```
-
## Failing tests
Scoverage does a lot of file writing behind the scenes in order to track which statements have been executed.
If you are running into a scenario where your tests normally pass, but fail when scoverage is enabled, then the culprit can be one of the following:
diff --git a/build.sbt b/build.sbt
index 47923c9f..bbc413d0 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,27 +1,9 @@
name := "sbt-scoverage"
-
organization := "org.scoverage"
-enablePlugins(SbtPlugin)
-
-scalacOptions := Seq("-unchecked", "-deprecation", "-feature", "-encoding", "utf8")
-
-resolvers ++= {
- if (isSnapshot.value) Seq(Resolver.sonatypeRepo("snapshots")) else Nil
-}
-
-libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.0"
-
-publishMavenStyle := true
-
-publishArtifact in Test := false
+import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts
+import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
-scriptedLaunchOpts ++= Seq(
- "-Xmx1024M",
- "-Dplugin.version=" + version.value
-)
-
-import ReleaseTransformations._
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies,
inquireVersions,
@@ -30,48 +12,67 @@ releaseProcess := Seq[ReleaseStep](
setReleaseVersion,
commitReleaseVersion,
tagRelease,
- releaseStepCommandAndRemaining("^ publishSigned"),
+ releaseStepCommandAndRemaining("publishSigned"),
setNextVersion,
commitNextVersion,
pushChanges
)
-releaseCrossBuild := false
-
-publishTo := {
- if (isSnapshot.value)
- Some("snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
- else
- Some("releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2")
-}
-
-pomExtra := {
- https://github.com/scoverage/sbt-scoverage
-
-
- Apache 2
- http://www.apache.org/licenses/LICENSE-2.0
- repo
-
-
-
- git@github.com:scoverage/sbt-scoverage.git
- scm:git@github.com:scoverage/sbt-scoverage.git
-
-
-
- sksamuel
- sksamuel
- http://github.com/sksamuel
-
-
- gslowikowski
- Grzegorz Slowikowski
- http://github.com/gslowikowski
-
-
-}
-
-crossSbtVersions := Vector("0.13.18", "1.2.8")
+lazy val root = Project("sbt-scoverage", file("."))
+ .enablePlugins(SbtPlugin)
+ .settings(
+ libraryDependencies ++= Seq(
+ "org.scala-lang" % "scala-compiler" % scalaVersion.value % Compile
+ ),
+ libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3" cross(CrossVersion.full),
+ scalaVersion := "2.12.13",
+ publishMavenStyle := true,
+ publishConfiguration := publishConfiguration.value.withOverwrite(true),
+ publishLocalConfiguration := publishLocalConfiguration.value.withOverwrite(true),
+ releasePublishArtifactsAction := PgpKeys.publishSigned.value,
+ Test / fork := false,
+ Test / publishArtifact := false,
+ Test / parallelExecution := false,
+ scalacOptions := Seq("-unchecked", "-deprecation", "-feature", "-encoding", "utf8"),
+ publishTo := {
+ if (isSnapshot.value)
+ Some("snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
+ else
+ Some("releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2")
+ },
+ resolvers ++= {
+ if (isSnapshot.value) Seq(Resolver.sonatypeRepo("snapshots")) else Nil
+ },
+ scriptedLaunchOpts ++= Seq(
+ "-Xmx1024M",
+ "-Dplugin.version=" + version.value
+ ),
+ pomExtra := {
+ https://github.com/scoverage/sbt-scoverage
+
+
+ Apache 2
+ http://www.apache.org/licenses/LICENSE-2.0
+ repo
+
+
+
+ git@github.com:scoverage/sbt-scoverage.git
+ scm:git@github.com:scoverage/sbt-scoverage.git
+
+
+
+ sksamuel
+ sksamuel
+ http://github.com/sksamuel
+
+
+ gslowikowski
+ Grzegorz Slowikowski
+ http://github.com/gslowikowski
+
+
+ }
+ )
scalariformAutoformat := false
diff --git a/project/build.properties b/project/build.properties
index c0bab049..f0be67b9 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=1.2.8
+sbt.version=1.5.1
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 8652f6d6..2b6a8715 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -4,4 +4,4 @@ addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.0")
addSbtPlugin("org.scalariform" % "sbt-scalariform" % "1.8.1")
-addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.7")
+addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13")
diff --git a/src/main/scala/scoverage/ScoverageKeys.scala b/src/main/scala/scoverage/ScoverageKeys.scala
index b3eec0dc..1b565dbb 100644
--- a/src/main/scala/scoverage/ScoverageKeys.scala
+++ b/src/main/scala/scoverage/ScoverageKeys.scala
@@ -15,8 +15,6 @@ object ScoverageKeys {
lazy val coverageOutputXML = settingKey[Boolean]("enables xml report generation")
lazy val coverageOutputHTML = settingKey[Boolean]("enables html report generation")
lazy val coverageOutputDebug = settingKey[Boolean]("turn on the debug report")
- @deprecated("", "1.6.0")
- lazy val coverageCleanSubprojectFiles = settingKey[Boolean]("removes subproject data after an aggregation")
lazy val coverageOutputTeamCity = settingKey[Boolean]("turn on teamcity reporting")
lazy val coverageScalacPluginVersion = settingKey[String]("version of scalac-scoverage-plugin to use")
}
diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala
index bf197e3d..f853bc40 100644
--- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala
+++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala
@@ -11,7 +11,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
val ScalacRuntimeArtifact = "scalac-scoverage-runtime"
val ScalacPluginArtifact = "scalac-scoverage-plugin"
// this should match the version defined in build.sbt
- val DefaultScoverageVersion = "1.4.1"
+ val DefaultScoverageVersion = "1.4.3"
val autoImport = ScoverageKeys
lazy val ScoveragePluginConfig = config("scoveragePlugin").hide
@@ -34,26 +34,25 @@ object ScoverageSbtPlugin extends AutoPlugin {
coverageOutputHTML := true,
coverageOutputCobertura := true,
coverageOutputDebug := false,
- coverageCleanSubprojectFiles := true,
coverageOutputTeamCity := false,
coverageScalacPluginVersion := DefaultScoverageVersion
)
override def buildSettings: Seq[Setting[_]] = super.buildSettings ++
- addCommandAlias("coverage", ";set coverageEnabled in ThisBuild := true") ++
- addCommandAlias("coverageOn", ";set coverageEnabled in ThisBuild := true") ++
- addCommandAlias("coverageOff", ";set coverageEnabled in ThisBuild := false")
+ addCommandAlias("coverage", ";set ThisBuild / coverageEnabled := true") ++
+ addCommandAlias("coverageOn", ";set ThisBuild / coverageEnabled := true") ++
+ addCommandAlias("coverageOff", ";set ThisBuild / coverageEnabled := false")
override def projectSettings: Seq[Setting[_]] = Seq(
ivyConfigurations += ScoveragePluginConfig,
coverageReport := coverageReport0.value,
coverageAggregate := coverageAggregate0.value,
- aggregate in coverageAggregate := false
+ coverageAggregate / aggregate := false
) ++ coverageSettings ++ scalacSettings
private lazy val coverageSettings = Seq(
- libraryDependencies ++= {
- if (coverageEnabled.value)
+ libraryDependencies ++= {
+ if (coverageEnabled.value) {
Seq(
// We only add for "compile" because of macros. This setting could be optimed to just "test" if the handling
// of macro coverage was improved.
@@ -61,13 +60,13 @@ object ScoverageSbtPlugin extends AutoPlugin {
// We don't want to instrument the test code itself, nor add to a pom when published with coverage enabled.
(OrgScoverage %% ScalacPluginArtifact % coverageScalacPluginVersion.value % ScoveragePluginConfig.name).cross(CrossVersion.full)
)
- else
+ } else
Nil
}
)
private lazy val scalacSettings = Seq(
- scalacOptions in(Compile, compile) ++= {
+ Compile / compile / scalacOptions ++= {
val updateReport = update.value
if (coverageEnabled.value) {
val scoverageDeps: Seq[File] = updateReport matching configurationFilter(ScoveragePluginConfig.name)
@@ -97,7 +96,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
private def optionalScalaJsSuffix(deps: Seq[ModuleID]): String = {
val sjsClassifier = deps.collectFirst {
case moduleId if moduleId.organization == "org.scala-js" && moduleId.name == "scalajs-library" => moduleId.revision
- }.map(_.take(3)).map(sjsVersion => "_sjs" + sjsVersion)
+ }.map(_.take(1)).map(sjsVersion => "_sjs" + sjsVersion)
sjsClassifier getOrElse ""
}
@@ -113,14 +112,14 @@ object ScoverageSbtPlugin extends AutoPlugin {
case Some(cov) =>
writeReports(
target,
- (sourceDirectories in Compile).value,
+ (Compile / sourceDirectories).value,
cov,
coverageOutputCobertura.value,
coverageOutputXML.value,
coverageOutputHTML.value,
coverageOutputDebug.value,
coverageOutputTeamCity.value,
- sourceEncoding((scalacOptions in (Compile)).value),
+ sourceEncoding((Compile / scalacOptions).value),
log)
checkCoverage(cov, log, coverageMinimum.value, coverageFailOnMinimum.value)
@@ -144,7 +143,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
coverageOutputHTML.value,
coverageOutputDebug.value,
coverageOutputTeamCity.value,
- sourceEncoding((scalacOptions in (Compile)).value),
+ sourceEncoding((Compile / scalacOptions).value),
log)
val cfmt = cov.statementCoverageFormatted
log.info(s"Aggregation complete. Coverage was [$cfmt]")
diff --git a/src/sbt-test/scoverage/aggregate-only/build.sbt b/src/sbt-test/scoverage/aggregate-only/build.sbt
index 9036ce72..3ca537e3 100644
--- a/src/sbt-test/scoverage/aggregate-only/build.sbt
+++ b/src/sbt-test/scoverage/aggregate-only/build.sbt
@@ -6,7 +6,7 @@
lazy val commonSettings = Seq(
organization := "org.scoverage",
version := "0.1.0",
- scalaVersion := "2.12.8"
+ scalaVersion := "2.12.13"
)
lazy val specs2Lib = "org.specs2" %% "specs2" % "2.5" % "test"
@@ -34,7 +34,7 @@ lazy val root = (project in file("."))
partB
)
-resolvers in ThisBuild ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ThisBuild / resolvers ++= {
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/aggregate/build.sbt b/src/sbt-test/scoverage/aggregate/build.sbt
index 9036ce72..3ca537e3 100644
--- a/src/sbt-test/scoverage/aggregate/build.sbt
+++ b/src/sbt-test/scoverage/aggregate/build.sbt
@@ -6,7 +6,7 @@
lazy val commonSettings = Seq(
organization := "org.scoverage",
version := "0.1.0",
- scalaVersion := "2.12.8"
+ scalaVersion := "2.12.13"
)
lazy val specs2Lib = "org.specs2" %% "specs2" % "2.5" % "test"
@@ -34,7 +34,7 @@ lazy val root = (project in file("."))
partB
)
-resolvers in ThisBuild ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ThisBuild / resolvers ++= {
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/bad-coverage/build.sbt b/src/sbt-test/scoverage/bad-coverage/build.sbt
index c786340d..30698311 100644
--- a/src/sbt-test/scoverage/bad-coverage/build.sbt
+++ b/src/sbt-test/scoverage/bad-coverage/build.sbt
@@ -1,6 +1,6 @@
version := "0.1"
-scalaVersion := "2.12.8"
+scalaVersion := "2.12.13"
libraryDependencies += "org.specs2" %% "specs2" % "2.5" % "test"
@@ -9,6 +9,6 @@ coverageMinimum := 80
coverageFailOnMinimum := true
resolvers ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/coverage-off/build.sbt b/src/sbt-test/scoverage/coverage-off/build.sbt
index c786340d..30698311 100644
--- a/src/sbt-test/scoverage/coverage-off/build.sbt
+++ b/src/sbt-test/scoverage/coverage-off/build.sbt
@@ -1,6 +1,6 @@
version := "0.1"
-scalaVersion := "2.12.8"
+scalaVersion := "2.12.13"
libraryDependencies += "org.specs2" %% "specs2" % "2.5" % "test"
@@ -9,6 +9,6 @@ coverageMinimum := 80
coverageFailOnMinimum := true
resolvers ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/good-coverage/build.sbt b/src/sbt-test/scoverage/good-coverage/build.sbt
index c786340d..30698311 100644
--- a/src/sbt-test/scoverage/good-coverage/build.sbt
+++ b/src/sbt-test/scoverage/good-coverage/build.sbt
@@ -1,6 +1,6 @@
version := "0.1"
-scalaVersion := "2.12.8"
+scalaVersion := "2.12.13"
libraryDependencies += "org.specs2" %% "specs2" % "2.5" % "test"
@@ -9,6 +9,6 @@ coverageMinimum := 80
coverageFailOnMinimum := true
resolvers ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/preserve-set/build.sbt b/src/sbt-test/scoverage/preserve-set/build.sbt
index 8469864d..35e9bd25 100644
--- a/src/sbt-test/scoverage/preserve-set/build.sbt
+++ b/src/sbt-test/scoverage/preserve-set/build.sbt
@@ -2,9 +2,9 @@ import sbt.complete.DefaultParsers._
version := "0.1"
-scalaVersion := "2.12.8"
+scalaVersion := "2.12.13"
-crossScalaVersions := Seq("2.10.6", "2.12.8")
+crossScalaVersions := Seq("2.12.13")
libraryDependencies += "org.specs2" %% "specs2" % "2.5" % "test"
@@ -24,14 +24,12 @@ checkScoverageEnabled := {
resolvers ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
-// We force coverage to be always disabled for 2.10. This is not an uncommon real world scenario
coverageEnabled := {
CrossVersion.partialVersion(scalaVersion.value) match {
- case Some((2, 10)) => false
case _ => coverageEnabled.value
}
}
diff --git a/src/sbt-test/scoverage/preserve-set/test b/src/sbt-test/scoverage/preserve-set/test
index 2429a4dd..349f1853 100644
--- a/src/sbt-test/scoverage/preserve-set/test
+++ b/src/sbt-test/scoverage/preserve-set/test
@@ -1,19 +1,8 @@
# check scalaVersion setting
-> checkScalaVersion "2.12.8"
+> checkScalaVersion "2.12.13"
> checkScoverageEnabled "false"
> coverage
> checkScoverageEnabled "true"
> coverageOff
-> checkScalaVersion "2.12.8"
-> checkScoverageEnabled "false"
-# changs scala version
-> ++2.10.6
-> checkScalaVersion "2.10.6"
-> checkScoverageEnabled "false"
-> coverage
-> checkScalaVersion "2.10.6"
-# We want coverage to be false, as we set it in the build.sbt
-> checkScoverageEnabled "false"
-> coverageOff
-> checkScalaVersion "2.10.6"
-> checkScoverageEnabled "false"
+> checkScalaVersion "2.12.13"
+> checkScoverageEnabled "false"
\ No newline at end of file
diff --git a/src/sbt-test/scoverage/scalac-plugin-version/build.sbt b/src/sbt-test/scoverage/scalac-plugin-version/build.sbt
index 1d927f49..f5e663f7 100644
--- a/src/sbt-test/scoverage/scalac-plugin-version/build.sbt
+++ b/src/sbt-test/scoverage/scalac-plugin-version/build.sbt
@@ -4,13 +4,11 @@ lazy val root = (project in file(".")).settings(
TaskKey[Unit]("check") := {
assert(
- libraryDependencies.value
- .filter(module =>
- module.organization == "org.scoverage" && module.revision == "1.3.0")
- .size == 2)
+ libraryDependencies.value.count(module =>
+ module.organization == "org.scoverage" && module.revision == "1.3.0") == 2)
}
resolvers ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/scalajs/build.sbt b/src/sbt-test/scoverage/scalajs/build.sbt
index 4f26c791..4b1074b5 100644
--- a/src/sbt-test/scoverage/scalajs/build.sbt
+++ b/src/sbt-test/scoverage/scalajs/build.sbt
@@ -6,16 +6,16 @@ lazy val root = (project in file(".")).aggregate(crossJS, crossJVM)
lazy val cross = CrossProject("sjstest", file("sjstest"))(JVMPlatform, JSPlatform)
.crossType(CrossType.Full)
.settings(
- scalaVersion := "2.12.8",
+ scalaVersion := "2.12.13",
libraryDependencies ++= Seq(
- "org.scalatest" %%% "scalatest" % "3.0.0" % "test"
+ "org.scalatest" %% "scalatest" % "3.2.8" % "test"
)
)
lazy val crossJS = cross.js
lazy val crossJVM = cross.jvm
-resolvers in ThisBuild ++= {
- if (sys.props.get("plugin.version").map(_.endsWith("-SNAPSHOT")).getOrElse(false)) Seq(Resolver.sonatypeRepo("snapshots"))
+ThisBuild / resolvers ++= {
+ if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) Seq(Resolver.sonatypeRepo("snapshots"))
else Seq.empty
}
diff --git a/src/sbt-test/scoverage/scalajs/project/plugins.sbt b/src/sbt-test/scoverage/scalajs/project/plugins.sbt
index 0b681ffe..6d94fb59 100644
--- a/src/sbt-test/scoverage/scalajs/project/plugins.sbt
+++ b/src/sbt-test/scoverage/scalajs/project/plugins.sbt
@@ -13,6 +13,6 @@ resolvers ++= {
Seq.empty
}
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.27")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.5.0")
-addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.6.0")
+addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0")
diff --git a/src/sbt-test/scoverage/scalajs/sjstest/js/src/test/scala/JsTest.scala b/src/sbt-test/scoverage/scalajs/sjstest/js/src/test/scala/JsTest.scala
index 133c1a36..d11e4236 100644
--- a/src/sbt-test/scoverage/scalajs/sjstest/js/src/test/scala/JsTest.scala
+++ b/src/sbt-test/scoverage/scalajs/sjstest/js/src/test/scala/JsTest.scala
@@ -1,6 +1,7 @@
-import org.scalatest.{FlatSpec, Matchers}
+import org.scalatest.flatspec.AnyFlatSpec
+import org.scalatest.matchers.should.Matchers
-class JsTest extends FlatSpec with Matchers {
+class JsTest extends AnyFlatSpec with Matchers {
"JS UnderTest" should "work on JS" in {
UnderTest.jsMethod shouldBe "js"
diff --git a/src/sbt-test/scoverage/scalajs/sjstest/jvm/src/test/scala/JvmTest.scala b/src/sbt-test/scoverage/scalajs/sjstest/jvm/src/test/scala/JvmTest.scala
index 80739a94..be2bc649 100644
--- a/src/sbt-test/scoverage/scalajs/sjstest/jvm/src/test/scala/JvmTest.scala
+++ b/src/sbt-test/scoverage/scalajs/sjstest/jvm/src/test/scala/JvmTest.scala
@@ -1,6 +1,7 @@
-import org.scalatest.{FlatSpec, Matchers}
+import org.scalatest.flatspec.AnyFlatSpec
+import org.scalatest.matchers.should.Matchers
-class JvmTest extends FlatSpec with Matchers {
+class JvmTest extends AnyFlatSpec with Matchers {
"JVM UnderTest" should "work on JVM" in {
UnderTest.jvmMethod shouldBe "jvm"
diff --git a/src/sbt-test/scoverage/scalajs/sjstest/shared/src/test/scala/SharedTest.scala b/src/sbt-test/scoverage/scalajs/sjstest/shared/src/test/scala/SharedTest.scala
index fecebac8..8336af72 100644
--- a/src/sbt-test/scoverage/scalajs/sjstest/shared/src/test/scala/SharedTest.scala
+++ b/src/sbt-test/scoverage/scalajs/sjstest/shared/src/test/scala/SharedTest.scala
@@ -1,6 +1,7 @@
-import org.scalatest.{FlatSpec, Matchers}
+import org.scalatest.flatspec.AnyFlatSpec
+import org.scalatest.matchers.should.Matchers
-class SharedTest extends FlatSpec with Matchers {
+class SharedTest extends AnyFlatSpec with Matchers {
"Shared UnderTest" should "return where it works" in {
UnderTest.onJsAndJvm shouldBe "js and jvm"
diff --git a/version.sbt b/version.sbt
index e5cd55e1..be9ef7d7 100644
--- a/version.sbt
+++ b/version.sbt
@@ -1 +1 @@
-version in ThisBuild := "1.6.2-SNAPSHOT"
+version in ThisBuild := "1.6.2-SNAPSHOT"
\ No newline at end of file