It's taken me a while to understand all the hieroglyphics, but it really is a solid build system. Take a look at a complex example of cross compiling for scala.js, a single code base, with shared classes [1], for multiple versions of Scala.<p>My biggest complaint early on, was the Ivy resolver. Maven "pom" style packages didn't work too well. I also know there was talk of using gradle's resolution system, which was rewrote long ago. Not sure if that went anywhere.<p>I think the IDE story will simplify, and work better, when sbt supports sbt-server. The work is being done here [2]. However, it is much better in IDEA 14 and the newest Scala plugin.<p>[1] <a href="https://github.com/w3c/banana-rdf/blob/master/project/build.scala" rel="nofollow">https://github.com/w3c/banana-rdf/blob/master/project/build....</a><p>[2] <a href="https://github.com/sbt/sbt-remote-control" rel="nofollow">https://github.com/sbt/sbt-remote-control</a>