From e944e6d5622e43f25004fe278c9bd15fd9c6b4a5 Mon Sep 17 00:00:00 2001 From: Dominik Zeiger Date: Wed, 28 Apr 2021 01:33:06 +0200 Subject: [PATCH 1/3] cleanup build file, js test fix --- .github/workflows/pr.yml | 1 + README.md | 20 +-- build.sbt | 118 +++++++++--------- project/build.properties | 2 +- project/plugins.sbt | 2 +- src/main/scala/scoverage/ScoverageKeys.scala | 2 - .../scala/scoverage/ScoverageSbtPlugin.scala | 25 ++-- .../scoverage/aggregate-only/build.sbt | 6 +- .../aggregate-only/project/plugins.sbt | 2 +- src/sbt-test/scoverage/aggregate/build.sbt | 6 +- .../scoverage/aggregate/project/plugins.sbt | 2 +- src/sbt-test/scoverage/bad-coverage/build.sbt | 4 +- .../bad-coverage/project/plugins.sbt | 2 +- src/sbt-test/scoverage/coverage-off/build.sbt | 4 +- .../coverage-off/project/plugins.sbt | 2 +- .../scoverage/good-coverage/build.sbt | 4 +- src/sbt-test/scoverage/preserve-set/build.sbt | 8 +- src/sbt-test/scoverage/preserve-set/test | 17 +-- .../scoverage/scalac-plugin-version/build.sbt | 8 +- src/sbt-test/scoverage/scalajs/build.sbt | 8 +- .../scoverage/scalajs/project/plugins.sbt | 4 +- .../sjstest/js/src/test/scala/JsTest.scala | 5 +- .../sjstest/jvm/src/test/scala/JvmTest.scala | 5 +- .../shared/src/test/scala/SharedTest.scala | 5 +- version.sbt | 2 +- 25 files changed, 123 insertions(+), 141 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0586c18d..40deb99c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -18,6 +18,7 @@ jobs: { version: '2.12.12' }, { version: '2.12.11' }, { version: '2.12.10' }, + { version: '2.13.5' }, { version: '2.13.4' }, { version: '2.13.3' }, { version: '2.13.2' }, diff --git a/README.md b/README.md index e00dd71a..83218ebc 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.5.1 ``` 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 + ## 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..576a2deb 100644 --- a/build.sbt +++ b/build.sbt @@ -1,77 +1,79 @@ 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, runClean, releaseStepCommandAndRemaining("^ test"), +// releaseStepCommandAndRemaining("^ scripted"), setReleaseVersion, commitReleaseVersion, tagRelease, - releaseStepCommandAndRemaining("^ publishSigned"), + releaseStepCommandAndRemaining("^ publish"), 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-SNAPSHOT" 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..f4b55635 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-SNAPSHOT" 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) @@ -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-only/project/plugins.sbt b/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt index 8f2837b3..475b8886 100644 --- a/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt +++ b/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) 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/aggregate/project/plugins.sbt b/src/sbt-test/scoverage/aggregate/project/plugins.sbt index 8f2837b3..475b8886 100644 --- a/src/sbt-test/scoverage/aggregate/project/plugins.sbt +++ b/src/sbt-test/scoverage/aggregate/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) 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/bad-coverage/project/plugins.sbt b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt index 8f2837b3..475b8886 100644 --- a/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt +++ b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) 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/coverage-off/project/plugins.sbt b/src/sbt-test/scoverage/coverage-off/project/plugins.sbt index 8f2837b3..475b8886 100644 --- a/src/sbt-test/scoverage/coverage-off/project/plugins.sbt +++ b/src/sbt-test/scoverage/coverage-off/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) 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..f9b0b448 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,14 @@ 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 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..c1358702 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" cross(CrossVersion.binary) ) ) 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 From 5d298ed9fc032025f2023bf31fe869c0b7361001 Mon Sep 17 00:00:00 2001 From: Dominik Zeiger Date: Wed, 28 Apr 2021 10:57:35 +0200 Subject: [PATCH 2/3] only use major sjs version, changes as per review comments --- .github/workflows/pr.yml | 10 +--------- README.md | 4 ++-- build.sbt | 3 +-- src/main/scala/scoverage/ScoverageSbtPlugin.scala | 2 +- .../scoverage/aggregate-only/project/plugins.sbt | 2 +- src/sbt-test/scoverage/aggregate/project/plugins.sbt | 2 +- .../scoverage/bad-coverage/project/plugins.sbt | 2 +- .../scoverage/coverage-off/project/plugins.sbt | 2 +- src/sbt-test/scoverage/preserve-set/build.sbt | 2 -- src/sbt-test/scoverage/scalajs/build.sbt | 2 +- 10 files changed, 10 insertions(+), 21 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 40deb99c..400a733b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -15,15 +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.5' }, - { 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 83218ebc..edd70463 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ discussion on scoverage. Make sure your SBT version in project/build.properties: ``` -sbt.version = 1.5.1 +sbt.version = 1.2.8 ``` Add the plugin in project/plugins.sbt: @@ -52,7 +52,7 @@ Sample project with scoverage in both sbt and maven - [the scoverage samples pro ## Notes on upgrading to version 1.6.x * ´coverageCleanSubprojectFiles´ key has been removed -* scala version 2.12+ is required as a minimum +* scala version 2.12+ is required as a minimum (due to scoverage suppport) ## Notes on upgrading to version 1.6.0 diff --git a/build.sbt b/build.sbt index 576a2deb..0180eaf2 100644 --- a/build.sbt +++ b/build.sbt @@ -9,11 +9,10 @@ releaseProcess := Seq[ReleaseStep]( inquireVersions, runClean, releaseStepCommandAndRemaining("^ test"), -// releaseStepCommandAndRemaining("^ scripted"), setReleaseVersion, commitReleaseVersion, tagRelease, - releaseStepCommandAndRemaining("^ publish"), + releaseStepCommandAndRemaining("publishSigned"), setNextVersion, commitNextVersion, pushChanges diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index f4b55635..075a4a8a 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -96,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 "" } diff --git a/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt b/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt index 475b8886..8f2837b3 100644 --- a/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt +++ b/src/sbt-test/scoverage/aggregate-only/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) diff --git a/src/sbt-test/scoverage/aggregate/project/plugins.sbt b/src/sbt-test/scoverage/aggregate/project/plugins.sbt index 475b8886..8f2837b3 100644 --- a/src/sbt-test/scoverage/aggregate/project/plugins.sbt +++ b/src/sbt-test/scoverage/aggregate/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) diff --git a/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt index 475b8886..8f2837b3 100644 --- a/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt +++ b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) diff --git a/src/sbt-test/scoverage/coverage-off/project/plugins.sbt b/src/sbt-test/scoverage/coverage-off/project/plugins.sbt index 475b8886..8f2837b3 100644 --- a/src/sbt-test/scoverage/coverage-off/project/plugins.sbt +++ b/src/sbt-test/scoverage/coverage-off/project/plugins.sbt @@ -4,7 +4,7 @@ val pluginVersion = sys.props.getOrElse( """|The system property 'plugin.version' is not defined. |Specify this property using the scriptedLaunchOpts -D.""".stripMargin)) -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion withCrossVersion(CrossVersion.full)) +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) resolvers ++= { if (pluginVersion.endsWith("-SNAPSHOT")) diff --git a/src/sbt-test/scoverage/preserve-set/build.sbt b/src/sbt-test/scoverage/preserve-set/build.sbt index f9b0b448..35e9bd25 100644 --- a/src/sbt-test/scoverage/preserve-set/build.sbt +++ b/src/sbt-test/scoverage/preserve-set/build.sbt @@ -28,10 +28,8 @@ resolvers ++= { 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/scalajs/build.sbt b/src/sbt-test/scoverage/scalajs/build.sbt index c1358702..4b1074b5 100644 --- a/src/sbt-test/scoverage/scalajs/build.sbt +++ b/src/sbt-test/scoverage/scalajs/build.sbt @@ -8,7 +8,7 @@ lazy val cross = CrossProject("sjstest", file("sjstest"))(JVMPlatform, JSPlatfor .settings( scalaVersion := "2.12.13", libraryDependencies ++= Seq( - "org.scalatest" %% "scalatest" % "3.2.8" % "test" cross(CrossVersion.binary) + "org.scalatest" %% "scalatest" % "3.2.8" % "test" ) ) From eb9fba934b606b351e70ed9b5d5b6e3319f53b71 Mon Sep 17 00:00:00 2001 From: ckipp01 Date: Wed, 28 Apr 2021 13:18:31 +0200 Subject: [PATCH 3/3] Update to newly released 1.4.3 --- build.sbt | 2 +- src/main/scala/scoverage/ScoverageSbtPlugin.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 0180eaf2..bbc413d0 100644 --- a/build.sbt +++ b/build.sbt @@ -24,7 +24,7 @@ lazy val root = Project("sbt-scoverage", file(".")) libraryDependencies ++= Seq( "org.scala-lang" % "scala-compiler" % scalaVersion.value % Compile ), - libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3-SNAPSHOT" cross(CrossVersion.full), + libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3" cross(CrossVersion.full), scalaVersion := "2.12.13", publishMavenStyle := true, publishConfiguration := publishConfiguration.value.withOverwrite(true), diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 075a4a8a..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.3-SNAPSHOT" + val DefaultScoverageVersion = "1.4.3" val autoImport = ScoverageKeys lazy val ScoveragePluginConfig = config("scoveragePlugin").hide