diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index 01e702ab381d94886c6b6a30b7c950556907de0f..33568befc08d1869fd473c055eec8789ef753896 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -25,30 +25,41 @@ object SparkBuild extends Build {
     testListeners <<= target.map(t => Seq(new eu.henkelmann.sbt.JUnitXmlTestsListener(t.getAbsolutePath))),
     publishTo <<= baseDirectory { base => Some(Resolver.file("Local", base / "target" / "maven" asFile)(Patterns(true, Resolver.mavenStyleBasePattern))) },
     libraryDependencies ++= Seq(
-      "org.eclipse.jetty" % "jetty-server" % "7.4.2.v20110526",
-      "org.scalatest" % "scalatest_2.9.0" % "1.6.1" % "test",
-      "org.scala-tools.testing" % "scalacheck_2.9.0-1" % "1.9" % "test"
-    )
+      "org.eclipse.jetty" % "jetty-server" % "8.0.1.v20110908",
+      "org.scalatest" %% "scalatest" % "1.6.1" % "test",
+      "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test"
+    ),
+    /* Workaround for issue #206 (fixed after SBT 0.11.0) */
+    watchTransitiveSources <<= Defaults.inDependencies[Task[Seq[File]]](watchSources.task,
+      const(std.TaskExtra.constant(Nil)), aggregate = true, includeRoot = true) apply { _.join.map(_.flatten) }
   )
 
   val slf4jVersion = "1.6.1"
 
-  def coreSettings = sharedSettings ++ Seq(libraryDependencies ++= Seq(
-    "com.google.guava" % "guava" % "r09",
-    "log4j" % "log4j" % "1.2.16",
-    "org.slf4j" % "slf4j-api" % slf4jVersion,
-    "org.slf4j" % "slf4j-log4j12" % slf4jVersion,
-    "com.ning" % "compress-lzf" % "0.7.0",
-    "org.apache.hadoop" % "hadoop-core" % "0.20.2",
-    "asm" % "asm-all" % "3.3.1",
-    "com.google.protobuf" % "protobuf-java" % "2.3.0",
-    "de.javakaffee" % "kryo-serializers" % "0.9"
-  )) ++ assemblySettings ++ Seq(test in Assembly := {})
+  def coreSettings = sharedSettings ++ Seq(
+    name := "spark-core",
+    libraryDependencies ++= Seq(
+      "com.google.guava" % "guava" % "r09",
+      "log4j" % "log4j" % "1.2.16",
+      "org.slf4j" % "slf4j-api" % slf4jVersion,
+      "org.slf4j" % "slf4j-log4j12" % slf4jVersion,
+      "com.ning" % "compress-lzf" % "0.8.4",
+      "org.apache.hadoop" % "hadoop-core" % "0.20.2",
+      "asm" % "asm-all" % "3.3.1",
+      "com.google.protobuf" % "protobuf-java" % "2.3.0",
+      "de.javakaffee" % "kryo-serializers" % "0.9"
+    )
+  ) ++ assemblySettings ++ Seq(test in Assembly := {})
 
-  def replSettings = sharedSettings ++
-      Seq(libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-compiler" % _))
+  def replSettings = sharedSettings ++ Seq(
+    name := "spark-repl",
+    libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-compiler" % _)
+  )
 
-  def examplesSettings = sharedSettings ++ Seq(libraryDependencies += "colt" % "colt" % "1.2.0")
+  def examplesSettings = sharedSettings ++ Seq(
+    name := "spark-examples",
+    libraryDependencies += "colt" % "colt" % "1.2.0"
+  )
 
-  def bagelSettings = sharedSettings
+  def bagelSettings = sharedSettings ++ Seq(name := "spark-bagel")
 }
diff --git a/project/build.properties b/project/build.properties
index f47a3009ec840a2bf3bb76206ac36d885a539654..f2ccdfa3777a5c74d1671a7c2b51a1d1d7a05867 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=0.10.1
+sbt.version=0.11.0
diff --git a/project/plugins.sbt b/project/plugins.sbt
new file mode 100644
index 0000000000000000000000000000000000000000..e68aa2990253959a6ef41a92f28beee76ad49265
--- /dev/null
+++ b/project/plugins.sbt
@@ -0,0 +1,10 @@
+resolvers ++= Seq(
+  "sbt-idea-repo" at "http://mpeltonen.github.com/maven/",
+  Classpaths.typesafeResolver
+)
+
+addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.0")
+
+addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse" % "1.4.0")
+
+addSbtPlugin("com.eed3si9n" %% "sbt-assembly" % "0.6")
diff --git a/project/plugins/build.sbt b/project/plugins/build.sbt
deleted file mode 100644
index 1e4d170f0e1cccc2640b129f462967e5433c1963..0000000000000000000000000000000000000000
--- a/project/plugins/build.sbt
+++ /dev/null
@@ -1,15 +0,0 @@
-resolvers += {
-  val typesafeRepoUrl = new java.net.URL("http://repo.typesafe.com/typesafe/releases")
-  val pattern = Patterns(false, "[organisation]/[module]/[sbtversion]/[revision]/[type]s/[module](-[classifier])-[revision].[ext]")
-  Resolver.url("Typesafe Repository", typesafeRepoUrl)(pattern)
-}
-
-resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
-
-libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"
-
-libraryDependencies <<= (libraryDependencies, sbtVersion) { (deps, version) =>
-  deps :+ ("com.typesafe.sbteclipse" %% "sbteclipse" % "1.2" extra("sbtversion" -> version))
-}
-
-libraryDependencies <+= (sbtVersion) { sv => "com.eed3si9n" %% "sbt-assembly" % ("sbt" + sv + "_0.6") }
diff --git a/project/plugins/project/SparkPluginBuild.scala b/project/project/SparkPluginBuild.scala
similarity index 100%
rename from project/plugins/project/SparkPluginBuild.scala
rename to project/project/SparkPluginBuild.scala
diff --git a/run b/run
index 2b95984ace068c6dab267473e17d8153790817be..c7fc65b5f6b2bc031d58b13b588369fc74ecc5a5 100755
--- a/run
+++ b/run
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-SCALA_VERSION=2.9.1.final
+SCALA_VERSION=2.9.1
 
 # Figure out where the Scala framework is installed
 FWDIR="$(cd `dirname $0`; pwd)"
diff --git a/sbt/sbt-launch-0.10.1.jar b/sbt/sbt-launch-0.10.1.jar
deleted file mode 100644
index 673495f78af54022f173c03e06daab70e9f1ee56..0000000000000000000000000000000000000000
Binary files a/sbt/sbt-launch-0.10.1.jar and /dev/null differ
diff --git a/sbt/sbt-launch-0.11.0.jar b/sbt/sbt-launch-0.11.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..070ecb014b1684b3305a061a5872c3f3b313f669
Binary files /dev/null and b/sbt/sbt-launch-0.11.0.jar differ