diff --git a/ivy/Credentials.scala b/ivy/Credentials.scala
index dc09adbcc..882e1c22b 100644
--- a/ivy/Credentials.scala
+++ b/ivy/Credentials.scala
@@ -33,13 +33,14 @@ object Credentials
case Right(dc) => dc
}
}
+
def loadCredentials(path: File): Either[String, DirectCredentials] =
if(path.exists)
{
val properties = read(path)
def get(keys: List[String]) = keys.flatMap(properties.get).headOption.toRight(keys.head + " not specified in credentials file: " + path)
- List.separate( List(RealmKeys, HostKeys, UserKeys, PasswordKeys).map(get) ) match
+ IvyUtil.separate( List(RealmKeys, HostKeys, UserKeys, PasswordKeys).map(get) ) match
{
case (Nil, List(realm, host, user, pass)) => Right( new DirectCredentials(realm, host, user, pass) )
case (errors, _) => Left(errors.mkString("\n"))
diff --git a/ivy/Ivy.scala b/ivy/Ivy.scala
index 937648cc0..030d0c192 100644
--- a/ivy/Ivy.scala
+++ b/ivy/Ivy.scala
@@ -382,7 +382,7 @@ private object IvySbt
private[sbt] def javaMap(m: Map[String,String], unqualify: Boolean = false) =
{
val map = if(unqualify) m map { case (k, v) => (k.stripPrefix("e:"), v) } else m
- if(map.isEmpty) null else scala.collection.JavaConversions.asJavaMap(map)
+ if(map.isEmpty) null else scala.collection.JavaConversions.mapAsJavaMap(map)
}
private object javaMap
diff --git a/ivy/IvyUtil.scala b/ivy/IvyUtil.scala
new file mode 100644
index 000000000..1c99bb5d3
--- /dev/null
+++ b/ivy/IvyUtil.scala
@@ -0,0 +1,7 @@
+package sbt
+
+private[sbt] object IvyUtil
+{
+ def separate[A,B](l: Seq[Either[A,B]]): (Seq[A], Seq[B]) =
+ (l.flatMap(_.left.toOption), l.flatMap(_.right.toOption))
+}
\ No newline at end of file
diff --git a/ivy/MakePom.scala b/ivy/MakePom.scala
index 9d57bbace..c92de2aa0 100644
--- a/ivy/MakePom.scala
+++ b/ivy/MakePom.scala
@@ -237,7 +237,7 @@ class MakePom(val log: Logger)
def exclusions(dependency: DependencyDescriptor): NodeSeq =
{
val excl = dependency.getExcludeRules(dependency.getModuleConfigurations)
- val (warns, excls) = List.separate(excl.map(makeExclusion))
+ val (warns, excls) = IvyUtil.separate(excl.map(makeExclusion))
if(!warns.isEmpty) log.warn(warns.mkString(IO.Newline))
if(!excls.isEmpty) {excls}
else NodeSeq.Empty
diff --git a/launch/ConfigurationParser.scala b/launch/ConfigurationParser.scala
index c399854fe..cdac66a9e 100644
--- a/launch/ConfigurationParser.scala
+++ b/launch/ConfigurationParser.scala
@@ -247,7 +247,7 @@ final class Section(val name: String) extends Line
object Comment extends Line
class ParseException(val content: String, val line: Int, val col: Int, val msg: String)
- extends BootException( "[" + (line+1) + ", " + (col+1) + "]" + msg + "\n" + content + "\n" + List.make(col," ").mkString + "^" )
+ extends BootException( "[" + (line+1) + ", " + (col+1) + "]" + msg + "\n" + content + "\n" + List.fill(col)(" ").mkString + "^" )
object ParseLine
{
diff --git a/main/Main.scala b/main/Main.scala
index 3940789c9..cb80bcc29 100644
--- a/main/Main.scala
+++ b/main/Main.scala
@@ -364,7 +364,7 @@ object BuiltinCommands
{
val addBase = token(Space ~> "add") ~> token(Space ~> basicUri, "").+
val removeBase = token(Space ~> "remove") ~> token(Space ~> Uri(Project.extraBuilds(s).toSet) ).+
- addBase.map(toAdd => (xs: List[URI]) => (toAdd.toList ::: xs).removeDuplicates) |
+ addBase.map(toAdd => (xs: List[URI]) => (toAdd.toList ::: xs).distinct) |
removeBase.map(toRemove => (xs: List[URI]) => xs.filterNot(toRemove.toSet))
}
diff --git a/main/actions/Package.scala b/main/actions/Package.scala
index b44966fae..047c53c36 100644
--- a/main/actions/Package.scala
+++ b/main/actions/Package.scala
@@ -37,7 +37,7 @@ object Package
def mergeManifests(manifest: Manifest, mergeManifest: Manifest)
{
mergeAttributes(manifest.getMainAttributes, mergeManifest.getMainAttributes)
- val entryMap = asScalaMap(manifest.getEntries)
+ val entryMap = mapAsScalaMap(manifest.getEntries)
for((key, value) <- mergeManifest.getEntries)
{
entryMap.get(key) match
diff --git a/tasks/Execute.scala b/tasks/Execute.scala
index e2fba3293..457b0221f 100644
--- a/tasks/Execute.scala
+++ b/tasks/Execute.scala
@@ -16,7 +16,7 @@ object Execute
trait Part1of2K[M[_[_], _], A[_]] { type Apply[T] = M[A, T] }
type NodeT[A[_]] = Part1of2K[Node, A]
- def idMap[A,B]: Map[A, B] = JavaConversions.asScalaMap(new java.util.IdentityHashMap[A,B])
+ def idMap[A,B]: Map[A, B] = JavaConversions.mapAsScalaMap(new java.util.IdentityHashMap[A,B])
def pMap[A[_], B[_]]: PMap[A,B] = new DelegatingPMap[A, B](idMap)
private[sbt] def completed(p: => Unit): Completed = new Completed {
def process() { p }
diff --git a/util/collection/IDSet.scala b/util/collection/IDSet.scala
index 683c7a76b..447082d8b 100644
--- a/util/collection/IDSet.scala
+++ b/util/collection/IDSet.scala
@@ -37,7 +37,7 @@ object IDSet
def += (t: T) = backing.put(t, Dummy)
def ++=(t: Iterable[T]) = t foreach +=
def -= (t:T) = if(backing.remove(t) eq null) false else true
- def all = collection.JavaConversions.asScalaIterable(backing.keySet)
+ def all = collection.JavaConversions.collectionAsScalaIterable(backing.keySet)
def isEmpty = backing.isEmpty
def process[S](t: T)(ifSeen: S)(ifNew: => S) = if(contains(t)) ifSeen else { this += t ; ifNew }
override def toString = backing.toString
diff --git a/util/collection/Util.scala b/util/collection/Util.scala
index c36bb6443..5aede5f0d 100644
--- a/util/collection/Util.scala
+++ b/util/collection/Util.scala
@@ -5,6 +5,8 @@ package sbt
object Util
{
+ def makeList[T](size: Int, value: T): List[T] = List.fill(size)(value)
+
def separateE[A,B](ps: Seq[Either[A,B]]): (Seq[A], Seq[B]) =
separate(ps)(Types.idFun)
diff --git a/util/complete/JLineCompletion.scala b/util/complete/JLineCompletion.scala
index 8eabd0ea5..d41f47b85 100644
--- a/util/complete/JLineCompletion.scala
+++ b/util/complete/JLineCompletion.scala
@@ -131,7 +131,7 @@ object JLineCompletion
if(line.charAt(line.length - 1) != '\n')
reader.printNewline()
}
- reader.printColumns(JavaConversions.asJavaList(columns.map(_.trim)))
+ reader.printColumns(JavaConversions.seqAsJavaList(columns.map(_.trim)))
}
def hasNewline(s: String): Boolean = s.indexOf('\n') >= 0
def shouldPrint(cs: Seq[String], reader: ConsoleReader): Boolean =
diff --git a/util/complete/Parser.scala b/util/complete/Parser.scala
index a10d1bdcb..a994e0658 100644
--- a/util/complete/Parser.scala
+++ b/util/complete/Parser.scala
@@ -5,7 +5,7 @@ package sbt.complete
import Parser._
import sbt.Types.{const, left, right, some}
- import sbt.Util.separate
+ import sbt.Util.{makeList,separate}
sealed trait Parser[+T]
{
@@ -676,7 +676,7 @@ private final class Repeat[T](partial: Option[Parser[T]], repeated: Parser[T], m
else
// forced determinism
for(value <- repeated.resultEmpty) yield
- List.make(min, value)
+ makeList(min, value)
}
override def toString = "repeat(" + min + "," + max +"," + partial + "," + repeated + ")"
}
\ No newline at end of file