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,
|
scalaHome :== None,
|
||||||
apiURL := None,
|
apiURL := None,
|
||||||
javaHome :== None,
|
javaHome :== None,
|
||||||
discoveredJavaHomes := sbt.internal.CrossJava.discoverJavaHomes,
|
discoveredJavaHomes := CrossJava.discoverJavaHomes,
|
||||||
javaHomes :== ListMap.empty,
|
javaHomes :== ListMap.empty,
|
||||||
fullJavaHomes := discoveredJavaHomes.value ++ javaHomes.value,
|
fullJavaHomes := CrossJava.expandJavaHomes(discoveredJavaHomes.value ++ javaHomes.value),
|
||||||
testForkedParallel :== false,
|
testForkedParallel :== false,
|
||||||
javaOptions :== Nil,
|
javaOptions :== Nil,
|
||||||
sbtPlugin :== false,
|
sbtPlugin :== false,
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ package internal
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import scala.collection.immutable.ListMap
|
import scala.collection.immutable.ListMap
|
||||||
import sbt.io.IO
|
|
||||||
import sbt.io.syntax._
|
import sbt.io.syntax._
|
||||||
|
|
||||||
private[sbt] object CrossJava {
|
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] =
|
def wrapNull(a: Array[String]): Vector[String] =
|
||||||
if (a eq null) Vector()
|
if (a eq null) Vector()
|
||||||
else a.toVector
|
else a.toVector
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Global / javaHomes += JavaVersion("6") -> file("/good/old/times/java-6")
|
Global / javaHomes += JavaVersion("6") -> file("/good/old/times/java-6")
|
||||||
|
|
||||||
TaskKey[Unit]("check") := {
|
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