mirror of https://github.com/sbt/sbt.git
30 lines
949 B
Scala
30 lines
949 B
Scala
|
|
package xsbt.boot
|
||
|
|
|
||
|
|
object Pre
|
||
|
|
{
|
||
|
|
def trimLeading(line: String) =
|
||
|
|
{
|
||
|
|
def newStart(i: Int): Int = if(i >= line.length || !Character.isWhitespace(line.charAt(i))) i else newStart(i+1)
|
||
|
|
line.substring(newStart(0))
|
||
|
|
}
|
||
|
|
def isEmpty(line: String) = line.length == 0
|
||
|
|
def isNonEmpty(line: String) = line.length > 0
|
||
|
|
def assert(condition: Boolean, msg: => String): Unit = if (!condition) throw new AssertionError(msg)
|
||
|
|
def assert(condition: Boolean): Unit = assert(condition, "Assertion failed")
|
||
|
|
def require(condition: Boolean, msg: => String): Unit = if (!condition) throw new IllegalArgumentException(msg)
|
||
|
|
def error(msg: String): Nothing = throw new BootException(msg)
|
||
|
|
def toBoolean(s: String) = java.lang.Boolean.parseBoolean(s)
|
||
|
|
def toArray[T](list: List[T]) =
|
||
|
|
{
|
||
|
|
val arr = new Array[T](list.length)
|
||
|
|
def copy(i: Int, rem: List[T]): Unit =
|
||
|
|
if(i < arr.length)
|
||
|
|
{
|
||
|
|
arr(i) = rem.head
|
||
|
|
copy(i+1, rem.tail)
|
||
|
|
}
|
||
|
|
copy(0, list)
|
||
|
|
arr
|
||
|
|
}
|
||
|
|
}
|