diff --git a/build.sc b/build.sc index f847bb7d04..55917c5afe 100644 --- a/build.sc +++ b/build.sc @@ -1034,7 +1034,23 @@ class TastyLib(val crossScalaVersion: String) extends ScalaCliCrossSbtModule else Nil } ) + def constantsFile = T.persistent { + val dir = T.dest / "constants" + val dest = dir / "Constants.scala" + val code = + s"""package scala.build.tastylib.internal + | + |/** Build-time constants. Generated by mill. */ + |object Constants { + | def latestSupportedScala = "${Scala.defaultInternal}" + |} + |""".stripMargin + if (!os.isFile(dest) || os.read(dest) != code) + os.write.over(dest, code, createFolders = true) + PathRef(dir) + } + def generatedSources = super.generatedSources() ++ Seq(constantsFile()) } object `local-repo` extends LocalRepo { diff --git a/modules/tasty-lib/src/main/scala/scala/build/tastylib/TastyVersions.scala b/modules/tasty-lib/src/main/scala/scala/build/tastylib/TastyVersions.scala index 5c58d20cd1..cda48d7e18 100644 --- a/modules/tasty-lib/src/main/scala/scala/build/tastylib/TastyVersions.scala +++ b/modules/tasty-lib/src/main/scala/scala/build/tastylib/TastyVersions.scala @@ -1,15 +1,13 @@ package scala.build.tastylib +import scala.build.tastylib.internal.Constants + object TastyVersions { // Every time tasty version is updated, please update LatestSupportedScala as well! - final val MajorVersion: Int = 28 - final val MinorVersion: Int = 1 - final val ExperimentalVersion: Int = 0 - object LatestSupportedScala { final val MajorVersion: Int = 3 - final val MinorVersion: Int = 1 + final val MinorVersion: Int = Constants.latestSupportedScala.split('.')(1).toInt } def shouldRunPreprocessor(