From 073f4a3d83c4b3494ce0bf0b7013c818cb1d5bcf Mon Sep 17 00:00:00 2001 From: Nikolay Tatarinov Date: Mon, 24 Jul 2017 13:33:30 +0300 Subject: [PATCH 1/6] add sbt 1.0.0-RC2 support --- build.sbt | 2 ++ project/build.properties | 2 +- src/main/scala-sbt-0.13/scoverage/Deps.scala | 10 ++++++++++ src/main/scala-sbt-1.0/scoverage/Deps.scala | 10 ++++++++++ src/main/scala/scoverage/ScoverageSbtPlugin.scala | 7 ++++--- 5 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 src/main/scala-sbt-0.13/scoverage/Deps.scala create mode 100644 src/main/scala-sbt-1.0/scoverage/Deps.scala diff --git a/build.sbt b/build.sbt index c5da9595..99201fa1 100644 --- a/build.sbt +++ b/build.sbt @@ -55,3 +55,5 @@ pomExtra := { } + +crossSbtVersions := Vector("0.13.15", "1.0.0-RC2") \ No newline at end of file diff --git a/project/build.properties b/project/build.properties index 27e88aa1..ead2472b 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.13 +sbt.version=0.13.16-RC1 diff --git a/src/main/scala-sbt-0.13/scoverage/Deps.scala b/src/main/scala-sbt-0.13/scoverage/Deps.scala new file mode 100644 index 00000000..bb22bd8e --- /dev/null +++ b/src/main/scala-sbt-0.13/scoverage/Deps.scala @@ -0,0 +1,10 @@ +package scoverage + +import java.io.File + +import sbt._ +import sbt.{UpdateReport, configurationFilter} + +object Deps { + def scoverageDeps(report: UpdateReport, configName: String): Seq[File] = report matching configurationFilter(configName) +} diff --git a/src/main/scala-sbt-1.0/scoverage/Deps.scala b/src/main/scala-sbt-1.0/scoverage/Deps.scala new file mode 100644 index 00000000..38889b18 --- /dev/null +++ b/src/main/scala-sbt-1.0/scoverage/Deps.scala @@ -0,0 +1,10 @@ +package scoverage + +import java.io.File + +import sbt._ +import sbt.librarymanagement.UpdateReport + +object Deps { + def scoverageDeps(updateReport: UpdateReport, configName: String): Seq[File] = updateReport matching configurationFilter(configName) +} diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index c65e126c..7ba0a021 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -68,8 +68,9 @@ object ScoverageSbtPlugin extends AutoPlugin { private lazy val scalacSettings = Seq( scalacOptions in(Compile, compile) ++= { + val updateReport = update.value if (coverageEnabled.value) { - val scoverageDeps: Seq[File] = update.value matching configurationFilter(ScoveragePluginConfig.name) + val scoverageDeps: Seq[File] = Deps.scoverageDeps(updateReport, ScoveragePluginConfig.name) val pluginPath: File = scoverageDeps.find(_.getAbsolutePath.contains(ScalacPluginArtifact)) match { case None => throw new Exception(s"Fatal: $ScalacPluginArtifact not in libraryDependencies") case Some(pluginPath) => pluginPath @@ -94,8 +95,8 @@ object ScoverageSbtPlugin extends AutoPlugin { // returns "_sjs$sjsVersion" for Scala.js projects or "" otherwise private def optionalScalaJsSuffix(deps: Seq[ModuleID]): String = { - val sjsClassifier = deps.collectFirst{ - case ModuleID("org.scala-js", "scalajs-library", v, _, _, _, _, _, _, _, _) => v + val sjsClassifier = deps.collectFirst { + case moduleId if moduleId.name == "org.scala-js" && moduleId.organization == "scalajs-library" => moduleId.revision }.map(_.take(3)).map(sjsVersion => "_sjs" + sjsVersion) sjsClassifier getOrElse "" From 91943c093e0fcfe5006705fc7910f21b7db98474 Mon Sep 17 00:00:00 2001 From: Nikolay Tatarinov Date: Mon, 24 Jul 2017 14:18:07 +0300 Subject: [PATCH 2/6] fix compilation error in tests; run tests for both versions of sbt on CI --- .travis.yml | 2 +- src/sbt-test/scoverage/preserve-set/build.sbt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1554ce3b..3d2d0b46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: scala -script: sbt ++$TRAVIS_SCALA_VERSION scripted +script: sbt ^scripted scala: - "2.10.6" diff --git a/src/sbt-test/scoverage/preserve-set/build.sbt b/src/sbt-test/scoverage/preserve-set/build.sbt index 80191926..64b0b20d 100644 --- a/src/sbt-test/scoverage/preserve-set/build.sbt +++ b/src/sbt-test/scoverage/preserve-set/build.sbt @@ -11,14 +11,14 @@ libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test" val checkScalaVersion = inputKey[Unit]("Input task to compare the value of scalaVersion setting with a given input.") checkScalaVersion := { val arg: String = (Space ~> StringBasic).parsed - if (scalaVersion.value != arg) error(s"scalaVersion [${scalaVersion.value}] not equal to expected [$arg]") + if (scalaVersion.value != arg) sys.error(s"scalaVersion [${scalaVersion.value}] not equal to expected [$arg]") () } val checkScoverageEnabled = inputKey[Unit]("Input task to compare the value of coverageEnabled setting with a given input.") checkScoverageEnabled := { val arg: String = (Space ~> StringBasic).parsed - if (coverageEnabled.value.toString != arg) error(s"coverageEnabled [${coverageEnabled.value}] not equal to expected [$arg]") + if (coverageEnabled.value.toString != arg) sys.error(s"coverageEnabled [${coverageEnabled.value}] not equal to expected [$arg]") () } From ca01649d9620b586ab2027a25f51b9e80010d58b Mon Sep 17 00:00:00 2001 From: Nikolay Tatarinov Date: Mon, 24 Jul 2017 15:53:26 +0300 Subject: [PATCH 3/6] fix scalajs-library artifact detection --- src/main/scala/scoverage/ScoverageSbtPlugin.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 7ba0a021..3a4d4ec4 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -96,7 +96,7 @@ object ScoverageSbtPlugin extends AutoPlugin { // returns "_sjs$sjsVersion" for Scala.js projects or "" otherwise private def optionalScalaJsSuffix(deps: Seq[ModuleID]): String = { val sjsClassifier = deps.collectFirst { - case moduleId if moduleId.name == "org.scala-js" && moduleId.organization == "scalajs-library" => moduleId.revision + case moduleId if moduleId.organization == "org.scala-js" && moduleId.name == "scalajs-library" => moduleId.revision }.map(_.take(3)).map(sjsVersion => "_sjs" + sjsVersion) sjsClassifier getOrElse "" From 2c075bbac748e0cf0e21ac256221af1284ed067d Mon Sep 17 00:00:00 2001 From: Nikolay Tatarinov <5min4eq.unity@gmail.com> Date: Sun, 30 Jul 2017 01:22:17 +0300 Subject: [PATCH 4/6] Upgrade scalajs plugin version --- src/sbt-test/scoverage/scalajs/project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sbt-test/scoverage/scalajs/project/plugins.sbt b/src/sbt-test/scoverage/scalajs/project/plugins.sbt index 23f701c5..f21e2e1b 100644 --- a/src/sbt-test/scoverage/scalajs/project/plugins.sbt +++ b/src/sbt-test/scoverage/scalajs/project/plugins.sbt @@ -13,4 +13,4 @@ resolvers ++= { Seq.empty } -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.13") \ No newline at end of file +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.19") From 38c10ad6c2147ea3e6c8672e0dc1c6b375f907af Mon Sep 17 00:00:00 2001 From: rockjam <5min4eq.unity@gmail.com> Date: Sun, 30 Jul 2017 09:39:15 +0300 Subject: [PATCH 5/6] upgrade sbt version to 0.13.16; use sbt 0.13.16 and 1.0.0-RC3 as sbt cross build versions --- build.sbt | 2 +- project/build.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 99201fa1..dadc1c6b 100644 --- a/build.sbt +++ b/build.sbt @@ -56,4 +56,4 @@ pomExtra := { } -crossSbtVersions := Vector("0.13.15", "1.0.0-RC2") \ No newline at end of file +crossSbtVersions := Vector("0.13.16", "1.0.0-RC3") diff --git a/project/build.properties b/project/build.properties index ead2472b..c091b86c 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.16-RC1 +sbt.version=0.13.16 From b16eac4d439f25d11618e903925c7e5bb9849504 Mon Sep 17 00:00:00 2001 From: Nikolay Tatarinov Date: Thu, 3 Aug 2017 17:42:59 +0300 Subject: [PATCH 6/6] simplify code for sbt cross building --- src/main/scala-sbt-0.13/scoverage/Deps.scala | 10 ---------- src/main/scala-sbt-1.0/scoverage/Deps.scala | 10 ---------- src/main/scala/scoverage/ScoverageSbtPlugin.scala | 2 +- 3 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 src/main/scala-sbt-0.13/scoverage/Deps.scala delete mode 100644 src/main/scala-sbt-1.0/scoverage/Deps.scala diff --git a/src/main/scala-sbt-0.13/scoverage/Deps.scala b/src/main/scala-sbt-0.13/scoverage/Deps.scala deleted file mode 100644 index bb22bd8e..00000000 --- a/src/main/scala-sbt-0.13/scoverage/Deps.scala +++ /dev/null @@ -1,10 +0,0 @@ -package scoverage - -import java.io.File - -import sbt._ -import sbt.{UpdateReport, configurationFilter} - -object Deps { - def scoverageDeps(report: UpdateReport, configName: String): Seq[File] = report matching configurationFilter(configName) -} diff --git a/src/main/scala-sbt-1.0/scoverage/Deps.scala b/src/main/scala-sbt-1.0/scoverage/Deps.scala deleted file mode 100644 index 38889b18..00000000 --- a/src/main/scala-sbt-1.0/scoverage/Deps.scala +++ /dev/null @@ -1,10 +0,0 @@ -package scoverage - -import java.io.File - -import sbt._ -import sbt.librarymanagement.UpdateReport - -object Deps { - def scoverageDeps(updateReport: UpdateReport, configName: String): Seq[File] = updateReport matching configurationFilter(configName) -} diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 3a4d4ec4..0faadf3e 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -70,7 +70,7 @@ object ScoverageSbtPlugin extends AutoPlugin { scalacOptions in(Compile, compile) ++= { val updateReport = update.value if (coverageEnabled.value) { - val scoverageDeps: Seq[File] = Deps.scoverageDeps(updateReport, ScoveragePluginConfig.name) + val scoverageDeps: Seq[File] = updateReport matching configurationFilter(ScoveragePluginConfig.name) val pluginPath: File = scoverageDeps.find(_.getAbsolutePath.contains(ScalacPluginArtifact)) match { case None => throw new Exception(s"Fatal: $ScalacPluginArtifact not in libraryDependencies") case Some(pluginPath) => pluginPath