To update Eclipse, you need to update the ScalaIDE plugin to work with 2.10. http://download.scala-ide.org/sdk/e37/scala210/dev/site/
If your build.sbt or plugin.sbt contains the line:
scalaVersion := "2.10.0"
SBT will find the string, interpret it, and automatically load the 2.10 Scala Compiler and 2.10 Scala library for the repo type. This can be found in the type resolver, which is usually added as a global resolver in ~/.sbt/ , like this resolvers += Classpaths.typesafeResolver .
If you compile the project with the scalaVersion := "2.10.0" inside the assembly definition (the same goes for the plugin) and you donβt have either w90> 2.10 installed or in your path, then SBT will automatically download it from typeafe resolver and put the loaded files in ~/.sbt/boot/scala-2.10.0/lib/ , where you will find the following files:
jansi.jar, jline.jar, scala-compiler.jar, scala-library.jar, scala-reflect.jar
Here is an example build.sbt config for a 2.5M3 application for an elevator originally created with Scala 2.9.2, with an upgrade to 2.10.
name := "secret" version := "0.1-SNAPSHOT" scalaVersion := "2.10.0" seq(com.github.siasia.WebPlugin.webSettings :_*) seq(jrebelSettings: _*) jrebel.webLinks <++= webappResources in Compile resolvers ++= Seq( "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots", "Sonatype releases" at "https://oss.sonatype.org/content/repositories/releases", "Scala 2.10 support for rogue" at "https://github.com/mattpap/rogue/" ) libraryDependencies ++= { val liftVersion = "2.5-M4" Seq( "com.foursquare" %% "rogue-field" % "2.0.0-beta22", "com.foursquare" %% "rogue-core" % "2.0.0-beta22", "com.foursquare" %% "rogue-lift" % "2.0.0-beta22", "net.liftweb" %% "lift-webkit" % liftVersion % "compile", "net.liftweb" %% "lift-mongodb-record" % "2.5-M4", "com.mongodb.casbah" % "casbah_2.9.0" % "2.2.0-SNAPSHOT", "org.specs2" %% "specs2" % "1.12.3" % "test" ) } classpathTypes ~= (_ + "orbit") libraryDependencies ++= Seq( "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container" artifacts (Artifact("javax.servlet", "jar", "jar") ) ) libraryDependencies ++= Seq( "org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container" artifacts (Artifact("jetty-webapp", "jar", "jar") ) ) port in container.Configuration := 5555 EclipseKeys.withSource := true
Here is the plugins.sbt file, which should be in PROJECTROOT / project / plugins.sbt
libraryDependencies <+= sbtVersion(v => v match { case "0.11.0" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.0-0.2.8" case "0.11.1" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.1-0.2.10" case "0.11.2" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.2-0.2.11" case "0.11.3" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.3-0.2.11.1" case x if (x.startsWith("0.12")) => "com.github.siasia" %% "xsbt-web-plugin" % "0.12.0-0.2.11.1" }) resolvers += "Jawsy.fi M2 releases" at "http://oss.jawsy.fi/maven2/releases" addSbtPlugin("fi.jawsy.sbtplugins" %% "sbt-jrebel-plugin" % "0.9.0")
Here is the global plugins file, which should be located in ~ / .sbt / plugins / plugins.sbt . If you post material here, it will be uploaded to all your SBT projects in the system. This, of course, means your car.
resolvers += Classpaths.typesafeResolver addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0") resolvers += "jgit-repo" at "http://download.eclipse.org/jgit/maven" addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.5.0") addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0") resolvers += "Jawsy.fi M2 releases" at "http://oss.jawsy.fi/maven2/releases" addSbtPlugin("fi.jawsy.sbtplugins" %% "sbt-jrebel-plugin" % "0.9.0")