From e2fe8d8964772ad7c12280f587eaf9e064e60753 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Wed, 6 Oct 2021 07:38:46 +0200 Subject: [PATCH 1/7] Initial changes necessary for V2 --- build.sbt | 2 +- src/main/scala/scoverage/ScoverageKeys.scala | 1 + .../scala/scoverage/ScoverageSbtPlugin.scala | 23 +++++++++++++++---- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/build.sbt b/build.sbt index ea6a5e80..88cf4757 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ name := "sbt-scoverage" import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts -def scoverageVersion = "1.4.9" +def scoverageVersion = "1.4.9+9-a154d161+20210925-1028-SNAPSHOT" inThisBuild( List( diff --git a/src/main/scala/scoverage/ScoverageKeys.scala b/src/main/scala/scoverage/ScoverageKeys.scala index add12d0c..3ee9bcd3 100644 --- a/src/main/scala/scoverage/ScoverageKeys.scala +++ b/src/main/scala/scoverage/ScoverageKeys.scala @@ -19,6 +19,7 @@ object ScoverageKeys { lazy val coverageOutputTeamCity = settingKey[Boolean]("turn on teamcity reporting") lazy val coverageScalacPluginVersion = settingKey[String]("version of scalac-scoverage-plugin to use") lazy val coverageDataDir = settingKey[File]("directory where the measurements and report files will be stored") + lazy val coverageSourceRoot = settingKey[File]("the source root of the project") // format: on @deprecated("Use coverageMinimumStmtTotal instead", "v1.8.0") diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index ba664651..565b620c 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -48,7 +48,8 @@ object ScoverageSbtPlugin extends AutoPlugin { coverageOutputCobertura := true, coverageOutputDebug := false, coverageOutputTeamCity := false, - coverageScalacPluginVersion := defaultScoverageVersion + coverageScalacPluginVersion := defaultScoverageVersion, + coverageSourceRoot := (ThisBuild / baseDirectory).value ) override def buildSettings: Seq[Setting[_]] = super.buildSettings ++ @@ -102,6 +103,9 @@ object ScoverageSbtPlugin extends AutoPlugin { Some( s"-P:scoverage:dataDir:${coverageDataDir.value.getAbsolutePath}/scoverage-data" ), + Some( + s"-P:scoverage:sourceRoot:${coverageSourceRoot.value.getAbsolutePath}" + ), Option(coverageExcludedPackages.value.trim) .filter(_.nonEmpty) .map(v => s"-P:scoverage:excludedPackages:$v"), @@ -145,7 +149,11 @@ object ScoverageSbtPlugin extends AutoPlugin { 1000 ) // have noticed some delay in writing on windows, hacky but works - loadCoverage(target, log) match { + loadCoverage( + target, + log, + coverageSourceRoot.value.getAbsoluteFile() + ) match { case Some(cov) => writeReports( target, @@ -306,7 +314,11 @@ object ScoverageSbtPlugin extends AutoPlugin { ) } - private def loadCoverage(crossTarget: File, log: Logger): Option[Coverage] = { + private def loadCoverage( + crossTarget: File, + log: Logger, + sourceRoot: File + ): Option[Coverage] = { val dataDir = crossTarget / "/scoverage-data" val coverageFile = Serializer.coverageFile(dataDir) @@ -315,7 +327,10 @@ object ScoverageSbtPlugin extends AutoPlugin { if (coverageFile.exists) { - val coverage = Serializer.deserialize(coverageFile) + val coverage = Serializer.deserialize( + coverageFile, + sourceRoot + ) log.info(s"Reading scoverage measurements...") val measurementFiles = IOUtils.findMeasurementFiles(dataDir) From aa2bd737b4cddc3b910ff891b1738dde3fb31aad Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Mon, 11 Oct 2021 09:29:23 +0200 Subject: [PATCH 2/7] Account for encoding and sourceroot --- build.sbt | 2 +- .../scala/scoverage/ScoverageSbtPlugin.scala | 22 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/build.sbt b/build.sbt index 88cf4757..ca46eeed 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ name := "sbt-scoverage" import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts -def scoverageVersion = "1.4.9+9-a154d161+20210925-1028-SNAPSHOT" +lazy val scoverageVersion = "33.0.0" inThisBuild( List( diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 565b620c..7cf4438f 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -184,7 +184,7 @@ object ScoverageSbtPlugin extends AutoPlugin { file / Constants.DataDir } - CoverageAggregator.aggregate(dataDirs) match { + CoverageAggregator.aggregate(dataDirs, coverageSourceRoot.value) match { case Some(cov) => writeReports( coverageDataDir.value, @@ -228,7 +228,11 @@ object ScoverageSbtPlugin extends AutoPlugin { reportDir.mkdirs() if (coverageOutputCobertura) { - new CoberturaXmlWriter(compileSourceDirectories, coberturaDir).write( + new CoberturaXmlWriter( + compileSourceDirectories, + coberturaDir, + coverageSourceEncoding + ).write( coverage ) log.info( @@ -237,11 +241,21 @@ object ScoverageSbtPlugin extends AutoPlugin { } if (coverageOutputXML) { - new ScoverageXmlWriter(compileSourceDirectories, reportDir, false).write( + new ScoverageXmlWriter( + compileSourceDirectories, + reportDir, + false, + coverageSourceEncoding + ).write( coverage ) if (coverageDebug) { - new ScoverageXmlWriter(compileSourceDirectories, reportDir, true).write( + new ScoverageXmlWriter( + compileSourceDirectories, + reportDir, + true, + coverageSourceEncoding + ).write( coverage ) } From d6b9a33844595359c3408592b543bae70ae4becb Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Sat, 30 Oct 2021 18:02:06 +0200 Subject: [PATCH 3/7] refactor: account for new reporter and domain modules and sourceroot --- build.sbt | 6 +- .../scala/scoverage/CoverageMinimum.scala | 4 +- .../scala/scoverage/ScoverageSbtPlugin.scala | 80 ++++++++++++++----- 3 files changed, 69 insertions(+), 21 deletions(-) diff --git a/build.sbt b/build.sbt index ca46eeed..a36ab4bd 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ name := "sbt-scoverage" import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts -lazy val scoverageVersion = "33.0.0" +lazy val scoverageVersion = "14.0.0" inThisBuild( List( @@ -33,7 +33,9 @@ lazy val root = Project("sbt-scoverage", file(".")) .enablePlugins(SbtPlugin, BuildInfoPlugin) .settings( libraryDependencies ++= Seq( - "org.scoverage" %% "scalac-scoverage-plugin" % scoverageVersion cross (CrossVersion.full) + "org.scoverage" %% "scalac-scoverage-plugin" % scoverageVersion cross (CrossVersion.full), + "org.scoverage" %% "scalac-scoverage-reporter" % scoverageVersion, + "org.scoverage" %% "scalac-scoverage-domain" % scoverageVersion, ), buildInfoKeys := Seq[BuildInfoKey]("scoverageVersion" -> scoverageVersion), buildInfoPackage := "scoverage", diff --git a/src/main/scala/scoverage/CoverageMinimum.scala b/src/main/scala/scoverage/CoverageMinimum.scala index 8e0c3030..a3ae9af7 100644 --- a/src/main/scala/scoverage/CoverageMinimum.scala +++ b/src/main/scala/scoverage/CoverageMinimum.scala @@ -1,7 +1,9 @@ package scoverage import sbt._ -import scoverage.DoubleFormat.twoFractionDigits +import scoverage.domain.Coverage +import scoverage.domain.CoverageMetrics +import scoverage.domain.DoubleFormat.twoFractionDigits case class CoverageMinimum( statement: Double, diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 7cf4438f..5a3a6974 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -3,10 +3,14 @@ package scoverage import sbt.Keys._ import sbt._ import sbt.plugins.JvmPlugin -import scoverage.report.CoberturaXmlWriter -import scoverage.report.CoverageAggregator -import scoverage.report.ScoverageHtmlWriter -import scoverage.report.ScoverageXmlWriter +import scoverage.reporter.CoberturaXmlWriter +import scoverage.domain.Constants +import scoverage.domain.Coverage +import scoverage.reporter.CoverageAggregator +import scoverage.reporter.IOUtils +import scoverage.reporter.ScoverageHtmlWriter +import scoverage.reporter.ScoverageXmlWriter +import scoverage.reporter.Deserializer import java.time.Instant @@ -15,6 +19,8 @@ object ScoverageSbtPlugin extends AutoPlugin { val orgScoverage = "org.scoverage" val scalacRuntimeArtifact = "scalac-scoverage-runtime" val scalacPluginArtifact = "scalac-scoverage-plugin" + val scalacDomainArtifact = "scalac-scoverage-domain" + val scalacReporterArtifact = "scalac-scoverage-reporter" val defaultScoverageVersion = BuildInfo.scoverageVersion val autoImport = ScoverageKeys lazy val ScoveragePluginConfig = config("scoveragePlugin").hide @@ -65,10 +71,21 @@ object ScoverageSbtPlugin extends AutoPlugin { coverageDataDir := crossTarget.value ) ++ coverageSettings ++ scalacSettings + private def isScala2(scalaVersion: String) = + CrossVersion + .partialVersion(scalaVersion) + .collect { case (2, _) => + true + } + .getOrElse(false) + private lazy val coverageSettings = Seq( libraryDependencies ++= { - if (coverageEnabled.value) { + // TODO check will need to go here for Scala 3 to not add everthing + if (coverageEnabled.value && isScala2(scalaVersion.value)) { Seq( + orgScoverage %% scalacDomainArtifact % coverageScalacPluginVersion.value, + orgScoverage %% scalacReporterArtifact % coverageScalacPluginVersion.value, // We only add for "compile" because of macros. This setting could be optimed to just "test" if the handling // of macro coverage was improved. orgScoverage %% (scalacRuntime( @@ -84,22 +101,40 @@ object ScoverageSbtPlugin extends AutoPlugin { ) private lazy val scalacSettings = Seq( + // TODO check will need to go here for scala 3 Compile / compile / scalacOptions ++= { val updateReport = update.value - if (coverageEnabled.value) { + if (coverageEnabled.value && isScala2(scalaVersion.value)) { 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 + updateReport.matching(configurationFilter(ScoveragePluginConfig.name)) + + // Since everything isn't contained in a single plugin jar since we + // want to share reporter/domain code between the plugin and the + // reporter which can be used for Scala3 we need to essentially put + // together the little classpath to pass in to the compiler which + // includes everything it needs for the compiler plugin phase: + // 1. the plugin jar + // 2. the domain jar + // NOTE: Even though you'd think that since plugin relies on domain + // it'd just auto include it... it doesn't. + // https://github.com/sbt/sbt/issues/2255 + val pluginPaths = scoverageDeps.collect { + case path + if path.getAbsolutePath().contains(scalacPluginArtifact) || path + .getAbsolutePath() + .contains(scalacDomainArtifact) => + path.getAbsolutePath() } + + if (pluginPaths.size != 2) + throw new Exception( + s"Fatal: Not finding either $scalacDomainArtifact or $scalacPluginArtifact in libraryDependencies." + ) + Seq( - Some(s"-Xplugin:${pluginPath.getAbsolutePath}"), + Some( + s"-Xplugin:${pluginPaths.mkString(":")}" + ), Some( s"-P:scoverage:dataDir:${coverageDataDir.value.getAbsolutePath}/scoverage-data" ), @@ -116,6 +151,15 @@ object ScoverageSbtPlugin extends AutoPlugin { // rangepos is broken in some releases of scala so option to turn it off if (coverageHighlighting.value) Some("-Yrangepos") else None ).flatten + } else if ( + // TODO this is very temporary until support for this gets merged in. + // For now we restrict this to this exact SNAPSHOT version + coverageEnabled.value && scalaVersion.value == "3.1.1-RC1-bin-SNAPSHOT" + ) { + Seq( + "-coverage", + s"${coverageDataDir.value.getAbsolutePath()}/scoverage-data" + ) } else { Nil } @@ -335,13 +379,13 @@ object ScoverageSbtPlugin extends AutoPlugin { ): Option[Coverage] = { val dataDir = crossTarget / "/scoverage-data" - val coverageFile = Serializer.coverageFile(dataDir) + val coverageFile = Deserializer.coverageFile(dataDir) log.info(s"Reading scoverage instrumentation [$coverageFile]") if (coverageFile.exists) { - val coverage = Serializer.deserialize( + val coverage = Deserializer.deserialize( coverageFile, sourceRoot ) From 681d953f8c2beb3971f6172a803e379fb0327fa1 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Sun, 31 Oct 2021 12:55:44 +0100 Subject: [PATCH 4/7] refactor: account for new serializer module --- .scalafmt.conf | 2 ++ build.sbt | 3 ++- .../scala/scoverage/ScoverageSbtPlugin.scala | 19 ++++++++++++------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.scalafmt.conf b/.scalafmt.conf index 7016fbeb..230159eb 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1 +1,3 @@ version = "3.0.8" +project.git = true +runner.dialect = "scala213" diff --git a/build.sbt b/build.sbt index a36ab4bd..b54a3285 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ name := "sbt-scoverage" import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts -lazy val scoverageVersion = "14.0.0" +lazy val scoverageVersion = "15.0.0" inThisBuild( List( @@ -36,6 +36,7 @@ lazy val root = Project("sbt-scoverage", file(".")) "org.scoverage" %% "scalac-scoverage-plugin" % scoverageVersion cross (CrossVersion.full), "org.scoverage" %% "scalac-scoverage-reporter" % scoverageVersion, "org.scoverage" %% "scalac-scoverage-domain" % scoverageVersion, + "org.scoverage" %% "scalac-scoverage-serializer" % scoverageVersion ), buildInfoKeys := Seq[BuildInfoKey]("scoverageVersion" -> scoverageVersion), buildInfoPackage := "scoverage", diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 5a3a6974..b14c9391 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -10,7 +10,7 @@ import scoverage.reporter.CoverageAggregator import scoverage.reporter.IOUtils import scoverage.reporter.ScoverageHtmlWriter import scoverage.reporter.ScoverageXmlWriter -import scoverage.reporter.Deserializer +import scoverage.serialize.Serializer import java.time.Instant @@ -21,6 +21,7 @@ object ScoverageSbtPlugin extends AutoPlugin { val scalacPluginArtifact = "scalac-scoverage-plugin" val scalacDomainArtifact = "scalac-scoverage-domain" val scalacReporterArtifact = "scalac-scoverage-reporter" + val scalacSerializerArtifact = "scalac-scoverage-serializer" val defaultScoverageVersion = BuildInfo.scoverageVersion val autoImport = ScoverageKeys lazy val ScoveragePluginConfig = config("scoveragePlugin").hide @@ -81,11 +82,11 @@ object ScoverageSbtPlugin extends AutoPlugin { private lazy val coverageSettings = Seq( libraryDependencies ++= { - // TODO check will need to go here for Scala 3 to not add everthing if (coverageEnabled.value && isScala2(scalaVersion.value)) { Seq( orgScoverage %% scalacDomainArtifact % coverageScalacPluginVersion.value, orgScoverage %% scalacReporterArtifact % coverageScalacPluginVersion.value, + orgScoverage %% scalacSerializerArtifact % coverageScalacPluginVersion.value, // We only add for "compile" because of macros. This setting could be optimed to just "test" if the handling // of macro coverage was improved. orgScoverage %% (scalacRuntime( @@ -115,6 +116,7 @@ object ScoverageSbtPlugin extends AutoPlugin { // includes everything it needs for the compiler plugin phase: // 1. the plugin jar // 2. the domain jar + // 3. the serializer jar // NOTE: Even though you'd think that since plugin relies on domain // it'd just auto include it... it doesn't. // https://github.com/sbt/sbt/issues/2255 @@ -122,13 +124,16 @@ object ScoverageSbtPlugin extends AutoPlugin { case path if path.getAbsolutePath().contains(scalacPluginArtifact) || path .getAbsolutePath() - .contains(scalacDomainArtifact) => + .contains(scalacDomainArtifact) || + path.getAbsolutePath().contains(scalacSerializerArtifact) => path.getAbsolutePath() } - if (pluginPaths.size != 2) + // NOTE: A little hacky, but make sure we are matching on the exact + // number of deps that we expect to collect up above. + if (pluginPaths.size != 3) throw new Exception( - s"Fatal: Not finding either $scalacDomainArtifact or $scalacPluginArtifact in libraryDependencies." + s"Fatal: Not finding either $scalacDomainArtifact or $scalacPluginArtifact or $scalacSerializerArtifact in libraryDependencies." ) Seq( @@ -379,13 +384,13 @@ object ScoverageSbtPlugin extends AutoPlugin { ): Option[Coverage] = { val dataDir = crossTarget / "/scoverage-data" - val coverageFile = Deserializer.coverageFile(dataDir) + val coverageFile = Serializer.coverageFile(dataDir) log.info(s"Reading scoverage instrumentation [$coverageFile]") if (coverageFile.exists) { - val coverage = Deserializer.deserialize( + val coverage = Serializer.deserialize( coverageFile, sourceRoot ) From f704ded8f4db8d7d1982386d307039d29920fa1e Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Sun, 31 Oct 2021 19:37:02 +0100 Subject: [PATCH 5/7] Account for M1 of scoverage --- build.sbt | 2 +- src/main/scala/scoverage/ScoverageSbtPlugin.scala | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.sbt b/build.sbt index b54a3285..46d413f8 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ name := "sbt-scoverage" import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts -lazy val scoverageVersion = "15.0.0" +lazy val scoverageVersion = "2.0.0-M2" inThisBuild( List( diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index b14c9391..98271a05 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -102,7 +102,6 @@ object ScoverageSbtPlugin extends AutoPlugin { ) private lazy val scalacSettings = Seq( - // TODO check will need to go here for scala 3 Compile / compile / scalacOptions ++= { val updateReport = update.value if (coverageEnabled.value && isScala2(scalaVersion.value)) { @@ -158,8 +157,9 @@ object ScoverageSbtPlugin extends AutoPlugin { ).flatten } else if ( // TODO this is very temporary until support for this gets merged in. - // For now we restrict this to this exact SNAPSHOT version - coverageEnabled.value && scalaVersion.value == "3.1.1-RC1-bin-SNAPSHOT" + // For now we restrict this to this exact SNAPSHOT version which needs + // to be published localled in order to test + coverageEnabled.value && scalaVersion.value == "3.1.2-RC1-bin-SNAPSHOT" ) { Seq( "-coverage", From f50044db60a8b47623abdf8553e26af02c84a112 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Sun, 31 Oct 2021 19:40:19 +0100 Subject: [PATCH 6/7] Only test on 8 and 11 17 brought some weird issues that seem to stem from sbt. We'll look at these later. --- .github/workflows/ci.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 549ed219..5a67c54b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '8', '11', '17' ] + java: [ '8', '11' ] steps: - name: checkout the repo @@ -43,7 +43,7 @@ jobs: uses: actions/setup-java@v2 with: distribution: 'temurin' - java-version: '17' + java-version: '11' - name: Check Formatting run: sbt scalafmtCheckAll diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3370fc55..ab6be9a4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,14 +6,14 @@ on: tags: ["*"] jobs: publish: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions/setup-java@v2 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '11' - run: sbt ci-release env: From fed26b758eda15ffdf976a8ca158e289b3696e55 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Mon, 1 Nov 2021 08:15:03 +0100 Subject: [PATCH 7/7] Remove plugin version test for now. Since this won't work now for anything < 2.x the test won't make sense until we release more versions --- .../scoverage/scalac-plugin-version/build.sbt | 17 ----------------- .../scalac-plugin-version/project/plugins.sbt | 16 ---------------- .../scoverage/scalac-plugin-version/test | 3 --- 3 files changed, 36 deletions(-) delete mode 100644 src/sbt-test/scoverage/scalac-plugin-version/build.sbt delete mode 100644 src/sbt-test/scoverage/scalac-plugin-version/project/plugins.sbt delete mode 100644 src/sbt-test/scoverage/scalac-plugin-version/test diff --git a/src/sbt-test/scoverage/scalac-plugin-version/build.sbt b/src/sbt-test/scoverage/scalac-plugin-version/build.sbt deleted file mode 100644 index df7f1c7c..00000000 --- a/src/sbt-test/scoverage/scalac-plugin-version/build.sbt +++ /dev/null @@ -1,17 +0,0 @@ -lazy val root = (project in file(".")).settings( - coverageScalacPluginVersion := "1.3.0" -) - -TaskKey[Unit]("check") := { - assert( - libraryDependencies.value.count(module => - module.organization == "org.scoverage" && module.revision == "1.3.0" - ) == 2 - ) -} - -resolvers ++= { - if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) - Seq(Resolver.sonatypeRepo("snapshots")) - else Seq.empty -} diff --git a/src/sbt-test/scoverage/scalac-plugin-version/project/plugins.sbt b/src/sbt-test/scoverage/scalac-plugin-version/project/plugins.sbt deleted file mode 100644 index 8d349239..00000000 --- a/src/sbt-test/scoverage/scalac-plugin-version/project/plugins.sbt +++ /dev/null @@ -1,16 +0,0 @@ -val pluginVersion = sys.props.getOrElse( - "plugin.version", - throw new RuntimeException( - """|The system property 'plugin.version' is not defined. - |Specify this property using the scriptedLaunchOpts -D.""".stripMargin - ) -) - -addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) - -resolvers ++= { - if (pluginVersion.endsWith("-SNAPSHOT")) - Seq(Resolver.sonatypeRepo("snapshots")) - else - Seq.empty -} diff --git a/src/sbt-test/scoverage/scalac-plugin-version/test b/src/sbt-test/scoverage/scalac-plugin-version/test deleted file mode 100644 index 4309c4d3..00000000 --- a/src/sbt-test/scoverage/scalac-plugin-version/test +++ /dev/null @@ -1,3 +0,0 @@ -# assert coverageScalacPluginVersion is taken into account when generating libraryDependencies -> coverage -> check \ No newline at end of file