This commit is contained in:
Matthias Kurz 2026-07-16 07:52:13 +02:00 committed by GitHub
commit f9a53dc3e0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,38 @@
lazy val check = taskKey[Unit]("Checks pluginCrossBuild / sbtVersion")
lazy val root = (project in file("."))
.enablePlugins(ConcreteSbtPlugin)
.settings(
scalaVersion := "2.12.21",
check := {
val actual = (pluginCrossBuild / sbtVersion).value
val expected = "1.12.12"
assert(actual == expected, s"Expected pluginCrossBuild / sbtVersion to be $expected, got $actual")
val defaultActual = (defaultPlugin / pluginCrossBuild / sbtVersion).value
val defaultExpected = "1.5.8"
assert(
defaultActual == defaultExpected,
s"Expected default pluginCrossBuild / sbtVersion to be $defaultExpected, got $defaultActual"
)
val sameAsRunningActual = (sameAsRunning / pluginCrossBuild / sbtVersion).value
val sameAsRunningExpected = sbtVersion.value
assert(
sameAsRunningActual == sameAsRunningExpected,
s"Expected explicit pluginCrossBuild / sbtVersion to be $sameAsRunningExpected, got $sameAsRunningActual"
)
}
)
lazy val defaultPlugin = (project in file("default-plugin"))
.enablePlugins(SbtPlugin)
.settings(
scalaVersion := "2.12.21"
)
lazy val sameAsRunning = (project in file("same-as-running"))
.enablePlugins(SameAsRunningPlugin)
.settings(
scalaVersion := "2.12.21"
)

View File

@ -0,0 +1,25 @@
import sbt._
import sbt.Keys._
object PluginCrossSbtVersionOverridePlugin extends AutoPlugin {
override def projectSettings: Seq[Def.Setting[?]] = Seq(
pluginCrossBuild / sbtVersion := {
scalaBinaryVersion.value match {
case "2.12" => "1.12.12"
case _ => sbtVersion.value
}
}
)
}
object ConcreteSbtPlugin extends AutoPlugin {
override def requires = PluginCrossSbtVersionOverridePlugin && plugins.SbtPlugin
}
object SameAsRunningPlugin extends AutoPlugin {
override def requires = plugins.SbtPlugin
override def projectSettings: Seq[Def.Setting[?]] = Seq(
pluginCrossBuild / sbtVersion := sbtVersion.value
)
}

View File

@ -0,0 +1 @@
> check