I honestly don’t fully understand why Scala needs its own build tool when there are plenty of mature Java build tools out there with plenty of community and IDE support.
I learned and started using Scala 3 years ago in a mixed Java-Scala Maven project. The project was originally a Java-only project and over time introduced more and more Scala. Thing is, its build scripts were awful so at one point I decided to clean it up and move to Gradle. I thought about moving to SBT at the time, but given all the bad reviews and experiences I read about I decided not to go with it. I considered moving to CBT as well, but also decided not to mainly for the lack of maturity and IDE (IntelliJ) support.
The major advantage of Gradle and Maven is their interoperability with Java projects and their familiarity among Java developers. I believe that Scala is shooting itself in the leg by trying to reinvent development tools on its own (that goes for testing tools as well). I personally prefer Gradle over Maven mainly for the flexibility given to me with a real programming language and not just a fixed DSL (doesn’t really matter that it’s XML based). Even though I haven’t tried it (yet), I also understand that Gradle does allow for type-safe build scripts via its Kotlin DSL.
The problem with Gradle and Scala is that the integration is not so clear, but it is definitely possible to integrate them together (I’m working on a guide with a sample project for that). There are a few caveats still – like the lack of integration between Gradle and the current major version of the incremental compiler (sbt zinc) – but these could probably be resolved if the attention given to developing SBT would be directed at weaving Scala support into the Java build tools.