How to setup IntelliJ + Scala + specs + sbt project?

intellij-idea, sbt, sbt-idea, scala, specs2

Solution

you can use this project i built that provides what you are looking for out of the box

Skeleton

I'm planning to upgrade the sbt config and latest and greatest libs (sbt-idea 1.3.0 and scala 2.10.1) tonight.

enjoy!

Problem

I am trying to setup an empty sbt project with specs2 for Scala (2.10) with IntelliJ (12.1) support and I am getting this error when I do `sbt compile` on empty project directory: ``` % sbt compile Getting net.java.dev.jna jna 3.2.3 ... :: retrieving :: org.scala-sbt#boot-jna confs: [default] 1 artifacts copied, 0 already retrieved (838kB/32ms) Getting org.scala-sbt sbt_2.9.1 0.11.3 ... :: retrieving :: org.scala-sbt#boot-app confs: [default] 37 artifacts copied, 0 already retrieved (7245kB/734ms) Getting Scala 2.9.1 (for sbt)... :: retrieving :: org.scala-sbt#boot-scala confs: [default] 4 artifacts copied, 0 already retrieved (19939kB/402ms) [info] Loading project definition from /Users/pathikrit/Projects/scalgos/project [info] Set current project to scalgos (in build file:/Users/pathikrit/Projects/scalgos/) Getting Scala 2.10.1 ... :: retrieving :: org.scala-sbt#boot-scala confs: [default] 5 artifacts copied, 0 already retrieved (24386kB/107ms) [info] Updating {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1... [info] Resolving org.scala-lang#scala-library;2.10.1 ... [info] Resolving org.specs2#specs2_2.10.1;1.14 ... [warn] module not found: org.specs2#specs2_2.10.1;1.14 [warn] ==== local: tried [warn] /Users/pathikrit/.ivy2/local/org.specs2/specs2_2.10.1/1.14/ivys/ivy.xml [warn] ==== public: tried [warn] http://repo1.maven.org/maven2/org/specs2/specs2_2.10.1/1.14/specs2_2.10.1-1.14.pom [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: org.specs2#specs2_2.10.1;1.14: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [error] {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1/*:update: sbt.ResolveException: unresolved dependency: org.specs2#specs2_2.10.1;1.14: not found [error] Total time: 4 s, completed Mar 25, 2013 5:11:17 PM ``` My `build.sbt` file looks like this: ``` name := "scalgos" version := "0.0.1" scalaVersion := "2.10.1" libraryDependencies += "org.specs2" %% "specs2" % "1.14" % "test" ``` I installed sbt by doing `brew install sbt`: ``` % brew info sbt sbt: stable 0.12.2, devel 0.13.0-M1 http://www.scala-sbt.org /usr/local/Cellar/sbt/0.11.3-2 (3 files, 1.1M) * https://github.com/mxcl/homebrew/commits/master/Library/Formula/sbt.rb ==> Caveats You can use $SBT_OPTS to pass additional JVM options to SBT. For convenience, this can specified in `~/.sbtconfig`. For example: SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" ``` Brew says I have sbt 0.12 but when I `sbt --version` I get: ``` % sbt --version sbt launcher version 0.11.3-2 ``` I tried to atleast generate the IntelliJ files by putting this in my $PROJECT_DIR/projects/plugins.sbt: ``` resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0") ``` But when I did `sbt gen-idea`, I got this error: ``` % sbt gen-idea [info] Loading project definition from /Users/pathikrit/Projects/scalgos/project [info] Set current project to scalgos (in build file:/Users/pathikrit/Projects/scalgos/) [info] Trying to create an Idea module scalgos [info] Updating {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1... [info] Resolving org.scala-lang#scala-library;2.10.1 ... [info] Resolving org.specs2#specs2_2.10.1;1.14 ... [warn] module not found: org.specs2#specs2_2.10.1;1.14 [warn] ==== local: tried [warn] /Users/pathikrit/.ivy2/local/org.specs2/specs2_2.10.1/1.14/ivys/ivy.xml [warn] ==== public: tried [warn] http://repo1.maven.org/maven2/org/specs2/specs2_2.10.1/1.14/specs2_2.10.1-1.14.pom [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: org.specs2#specs2_2.10.1;1.14: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [error] {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1/*:update: sbt.ResolveException: unresolved dependency: org.specs2#specs2_2.10.1;1.14: not found [info] Updating {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1... [info] Resolving org.scala-lang#scala-library;2.10.1 ... [info] Resolving org.specs2#specs2_2.10.1;1.14 ... [warn] module not found: org.specs2#specs2_2.10.1;1.14 [warn] ==== local: tried [warn] /Users/pathikrit/.ivy2/local/org.specs2/specs2_2.10.1/1.14/ivys/ivy.xml [warn] ==== public: tried [warn] http://repo1.maven.org/maven2/org/specs2/specs2_2.10.1/1.14/specs2_2.10.1-1.14.pom [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: org.specs2#specs2_2.10.1;1.14: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [error] {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1/*:update: sbt.ResolveException: unresolved dependency: org.specs2#specs2_2.10.1;1.14: not found [error] Failed to obtain dependency classpath [error] java.lang.IllegalArgumentException [error] Use 'last' for the full log. ``` Can someone post a sample `build.sbt` that would generate IntelliJ 12.1 files for Scala 2.10.1 and sbt? I checked in my project here: https://github.com/pathikrit/scalgos Please advise what am I doing wrong???

Original source