mirror of https://github.com/sbt/sbt.git
Accept both 1.x and x for 1.1 to 1.8
This commit is contained in:
parent
c31583e4f8
commit
aff9e0110c
|
|
@ -160,9 +160,9 @@ object Defaults extends BuildCommon {
|
|||
scalaHome :== None,
|
||||
apiURL := None,
|
||||
javaHome :== None,
|
||||
discoveredJavaHomes := sbt.internal.CrossJava.discoverJavaHomes,
|
||||
discoveredJavaHomes := CrossJava.discoverJavaHomes,
|
||||
javaHomes :== ListMap.empty,
|
||||
fullJavaHomes := discoveredJavaHomes.value ++ javaHomes.value,
|
||||
fullJavaHomes := CrossJava.expandJavaHomes(discoveredJavaHomes.value ++ javaHomes.value),
|
||||
testForkedParallel :== false,
|
||||
javaOptions :== Nil,
|
||||
sbtPlugin :== false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ package internal
|
|||
|
||||
import java.io.File
|
||||
import scala.collection.immutable.ListMap
|
||||
import sbt.io.IO
|
||||
import sbt.io.syntax._
|
||||
|
||||
private[sbt] object CrossJava {
|
||||
|
|
@ -44,6 +43,17 @@ private[sbt] object CrossJava {
|
|||
}
|
||||
}
|
||||
|
||||
// expand Java versions to 1-8 to 1.x, and vice versa to accept both "1.8" and "8"
|
||||
private val oneDot = Map((1 to 8).toVector flatMap { i =>
|
||||
Vector(s"$i" -> s"1.$i", s"1.$i" -> s"$i")
|
||||
}: _*)
|
||||
def expandJavaHomes(hs: Map[JavaVersion, File]): Map[JavaVersion, File] =
|
||||
hs flatMap {
|
||||
case (k, v) =>
|
||||
if (oneDot.contains(k.version)) Vector(k -> v, k.withVersion(oneDot(k.version)) -> v)
|
||||
else Vector(k -> v)
|
||||
}
|
||||
|
||||
def wrapNull(a: Array[String]): Vector[String] =
|
||||
if (a eq null) Vector()
|
||||
else a.toVector
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
Global / javaHomes += JavaVersion("6") -> file("/good/old/times/java-6")
|
||||
|
||||
TaskKey[Unit]("check") := {
|
||||
assert(fullJavaHomes.value(JavaVersion("6")).getAbsolutePath.contains("java-6"))
|
||||
assert(fullJavaHomes.value(JavaVersion("1.6")).getAbsolutePath.contains("java-6"))
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue