mirror of
https://github.com/sbt/sbt.git
synced 2026-09-05 09:15:06 +02:00
[2.x] test: Fix MatchError in RunFromSourceMain if RC version (#9684)
This commit is contained in:
@@ -150,23 +150,30 @@ object RunFromSourceMain {
|
||||
import lmcoursier.{ CoursierConfiguration, CoursierDependencyResolution }
|
||||
CoursierDependencyResolution(CoursierConfiguration())
|
||||
}
|
||||
val Name = """(.*)(?:\-[\d.]+)\.jar""".r
|
||||
val BinPre = """(.*)(?:\-[\d.]+)-(?:bin|pre)-.*\.jar""".r
|
||||
val module = "org.scala-lang" % "scala3-compiler_3" % scalaVersion
|
||||
lm.retrieve(module, scalaModuleInfo = None, scalaHome1Temp, log) match
|
||||
case Left(w) => throw w.resolveException
|
||||
case Right(jars) =>
|
||||
assert(jars.nonEmpty, s"no jars for scala $scalaVersion")
|
||||
jars.foreach: f =>
|
||||
val name = f.getName match
|
||||
case Name(name) => name
|
||||
case BinPre(name) => name
|
||||
val name = jarName(f.getName)
|
||||
IO.copyFile(f, scalaHome1Lib / s"$name.jar")
|
||||
}
|
||||
scalaHome1
|
||||
}
|
||||
}
|
||||
|
||||
private val Name = """(.*)(?:\-[\d.]+)\.jar""".r
|
||||
private val BinPre = """(.*)(?:\-[\d.]+)-(?:bin|pre)-.*\.jar""".r
|
||||
private val RC = """(.*)(?:\-[\d.]+)-(?:RC\d+)\.jar""".r
|
||||
|
||||
private[sbt] def jarName(value: String): String =
|
||||
value match {
|
||||
case Name(name) => name
|
||||
case BinPre(name) => name
|
||||
case RC(name) => name
|
||||
}
|
||||
|
||||
private def errorAndExit(msg: String): Nothing = { System.err.println(msg); exit(1) }
|
||||
private def exit(code: Int): Nothing = System.exit(code).asInstanceOf[Nothing]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package sbt
|
||||
|
||||
import verify.BasicTestSuite
|
||||
|
||||
object RunFromSourceMainSpec extends BasicTestSuite {
|
||||
test("jarName") {
|
||||
assert(RunFromSourceMain.jarName("scala3-compiler_3-3.8.4.jar") == "scala3-compiler_3")
|
||||
assert(RunFromSourceMain.jarName("scala3-library_3-3.8.4.jar") == "scala3-library_3")
|
||||
assert(RunFromSourceMain.jarName("scala3-library_3-3.9.0-RC6.jar") == "scala3-library_3")
|
||||
assert(RunFromSourceMain.jarName("scala3-library_3-3.9.0-RC123.jar") == "scala3-library_3")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user