diff --git a/build.sbt b/build.sbt index f6337a0..1d56abe 100644 --- a/build.sbt +++ b/build.sbt @@ -32,7 +32,7 @@ inThisBuild( lazy val root = Project("sbt-scoverage", file(".")) .enablePlugins(SbtPlugin, BuildInfoPlugin) .settings( - crossScalaVersions += "3.6.2", + crossScalaVersions += "3.7.2", libraryDependencies ++= Seq( "org.scoverage" %% "scalac-scoverage-reporter" % scoverageVersion ), @@ -41,7 +41,7 @@ lazy val root = Project("sbt-scoverage", file(".")) case "2.12" => (pluginCrossBuild / sbtVersion).value case _ => - "2.0.0-M3" + "2.0.0-RC3" } }, buildInfoKeys := Seq[BuildInfoKey]("scoverageVersion" -> scoverageVersion), diff --git a/project/build.properties b/project/build.properties index cc68b53..e480c67 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.11 +sbt.version=1.11.5 diff --git a/src/main/scala-2/scoverage/ScoverageSbtPluginCompat.scala b/src/main/scala-2/scoverage/ScoverageSbtPluginCompat.scala new file mode 100644 index 0000000..cd20548 --- /dev/null +++ b/src/main/scala-2/scoverage/ScoverageSbtPluginCompat.scala @@ -0,0 +1,7 @@ +package scoverage + +private[scoverage] object ScoverageSbtPluginCompat { + implicit class DefOps(private val self: sbt.Def.type) extends AnyVal { + def uncached[A](a: A): A = a + } +} diff --git a/src/main/scala-3/scoverage/ScoverageSbtPluginCompat.scala b/src/main/scala-3/scoverage/ScoverageSbtPluginCompat.scala new file mode 100644 index 0000000..94f3770 --- /dev/null +++ b/src/main/scala-3/scoverage/ScoverageSbtPluginCompat.scala @@ -0,0 +1,3 @@ +package scoverage + +private[scoverage] object ScoverageSbtPluginCompat diff --git a/src/main/scala/scoverage/ScoverageKeys.scala b/src/main/scala/scoverage/ScoverageKeys.scala index 9cab50e..f68ab42 100644 --- a/src/main/scala/scoverage/ScoverageKeys.scala +++ b/src/main/scala/scoverage/ScoverageKeys.scala @@ -7,7 +7,9 @@ object ScoverageKeys { lazy val coverageEnabled = settingKey[Boolean]( "controls whether code instrumentation is enabled or not" ) + @transient lazy val coverageReport = taskKey[Unit]("run report generation") + @transient lazy val coverageAggregate = taskKey[Unit]("aggregate reports from subprojects") lazy val coverageExcludedPackages = settingKey[String]("regex for excluded packages") lazy val coverageExcludedFiles = settingKey[String]("regex for excluded file paths") diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index b5ac660..c376fca 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -4,6 +4,7 @@ import sbt.Keys._ import sbt.{given, _} import sbt.internal.util.Util.isWindows import sbt.plugins.JvmPlugin +import scoverage.ScoverageSbtPluginCompat.* import scoverage.reporter.CoberturaXmlWriter import scoverage.domain.Constants import scoverage.domain.Coverage @@ -122,7 +123,7 @@ object ScoverageSbtPlugin extends AutoPlugin { ) private lazy val scalacSettings = Seq( - Compile / compile / scalacOptions ++= { + Compile / compile / scalacOptions ++= Def.uncached { implicit val log: Logger = streams.value.log