mirror of https://github.com/sbt/sbt.git
cleanup in launcher
This commit is contained in:
parent
743d4556ae
commit
f131fb3108
|
|
@ -55,12 +55,12 @@ class ConfigurationParser extends NotNull
|
||||||
def check(map: ListMap[String, _], label: String): Unit = if(map.isEmpty) () else error(map.keys.mkString("Invalid " + label + "(s): ", ",",""))
|
def check(map: ListMap[String, _], label: String): Unit = if(map.isEmpty) () else error(map.keys.mkString("Invalid " + label + "(s): ", ",",""))
|
||||||
def check[T](label: String, pair: (T, ListMap[String, _])): T = { check(pair._2, label); pair._1 }
|
def check[T](label: String, pair: (T, ListMap[String, _])): T = { check(pair._2, label); pair._1 }
|
||||||
def id(map: LabelMap, name: String, default: String): (String, LabelMap) =
|
def id(map: LabelMap, name: String, default: String): (String, LabelMap) =
|
||||||
(getOrNone(map, name).getOrElse(default), map - name)
|
(orElse(getOrNone(map, name), default), map - name)
|
||||||
def getOrNone[K,V](map: ListMap[K,Option[V]], k: K) = map.get(k).getOrElse(None)
|
def getOrNone[K,V](map: ListMap[K,Option[V]], k: K) = orElse(map.get(k), None)
|
||||||
def ids(map: LabelMap, name: String, default: List[String]) =
|
def ids(map: LabelMap, name: String, default: List[String]) =
|
||||||
{
|
{
|
||||||
val result = map(name).map(value => trim(value.split(",")).filter(isNonEmpty)).getOrElse(default)
|
val result = map(name).map(value => trim(value.split(",")).filter(isNonEmpty))
|
||||||
(result, map - name)
|
(orElse(result, default), map - name)
|
||||||
}
|
}
|
||||||
def bool(map: LabelMap, name: String, default: Boolean): (Boolean, LabelMap) =
|
def bool(map: LabelMap, name: String, default: Boolean): (Boolean, LabelMap) =
|
||||||
{
|
{
|
||||||
|
|
@ -70,7 +70,7 @@ class ConfigurationParser extends NotNull
|
||||||
def toFiles(paths: List[String]): List[File] = paths.map(toFile)
|
def toFiles(paths: List[String]): List[File] = paths.map(toFile)
|
||||||
def toFile(path: String): File = new File(path.replace('/', File.separatorChar))// if the path is relative, it will be resolved by Launch later
|
def toFile(path: String): File = new File(path.replace('/', File.separatorChar))// if the path is relative, it will be resolved by Launch later
|
||||||
def file(map: LabelMap, name: String, default: File): (File, LabelMap) =
|
def file(map: LabelMap, name: String, default: File): (File, LabelMap) =
|
||||||
(getOrNone(map, name).map(toFile).getOrElse(default), map - name)
|
(orElse(getOrNone(map, name).map(toFile), default), map - name)
|
||||||
|
|
||||||
def getBoot(m: LabelMap): BootSetup =
|
def getBoot(m: LabelMap): BootSetup =
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ sealed class ListMap[K,V] private(backing: List[(K,V)]) extends Iterable[(K,V)]
|
||||||
}
|
}
|
||||||
object ListMap
|
object ListMap
|
||||||
{
|
{
|
||||||
def apply[K,V](pairs: (K,V)*) = (empty[K,V] /: pairs)(_ + _)
|
def apply[K,V](pairs: (K,V)*) = new ListMap[K,V](pairs.toList.removeDuplicates)
|
||||||
def empty[K,V] = new ListMap[K,V](Nil)
|
def empty[K,V] = new ListMap[K,V](Nil)
|
||||||
private def remove[K,V](backing: List[(K,V)], k: K) = backing.filter(_._1 != k)
|
private def remove[K,V](backing: List[(K,V)], k: K) = backing.filter(_._1 != k)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,4 +38,6 @@ object Pre
|
||||||
n
|
n
|
||||||
}
|
}
|
||||||
def array(files: File*): Array[File] = toArray(files.toList)
|
def array(files: File*): Array[File] = toArray(files.toList)
|
||||||
|
/* Saves creating a closure for default if it has already been evaluated*/
|
||||||
|
def orElse[T](opt: Option[T], default: T) = if(opt.isDefined) opt.get else default
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import java.io.{Closeable, File, FileInputStream, FileOutputStream, InputStream,
|
||||||
|
|
||||||
object Using extends NotNull
|
object Using extends NotNull
|
||||||
{
|
{
|
||||||
def apply[R <: Closeable,T](create: => R)(f: R => T): T = withResource(create)(f)
|
def apply[R <: Closeable,T](create: R)(f: R => T): T = withResource(create)(f)
|
||||||
def withResource[R <: Closeable,T](r: R)(f: R => T): T = try { f(r) } finally { r.close() }
|
def withResource[R <: Closeable,T](r: R)(f: R => T): T = try { f(r) } finally { r.close() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue