4 ms·
In my own experience gradle is far simpler than SBT, especially when you factor in the binary incompatibility between scala versions and the technical debt this
by 60secs 10y ago
In my own experience gradle is far simpler than SBT, especially when you factor in the binary incompatibility between scala versions and the technical debt this adds to your build plugins.
Plus compilation with SBT is ridiculously, laughably slow. Modifiying your build.sbt essentially causes a rebuild of your whole project. The complexity and expressiveness of SBT is a BAD THING in terms of compilation and troubleshooting.
Maven suffers from a different issue. Build processes are fundamentally procedural, not declarative so sooner or later you have to shoehorn your shell commands into a maven plugin section in your xml instead of just executing them as a line from within your build script.
- rdubz 10y agopost author here, thanks, I think a couple things you said are spot on. In a perfect world I would have discussed Gradle here as well, but I've never actually used it and so that fell out of scope (same with a more thorough treatment of Pantsbuild that I hoped to do). Your articulation of Maven's issues also resonates :) I do experience slow project reloads in IntelliJ (not as much on the SBT CLI), so that's fair. Not a dealbreaker given how much easier (read: more possible?) it is to express the logic I want to express in SBT, but reasonable people can disagree about those tradeoffs :)
- djsumdog 10y agoI would take SBT any day over Maven. The amount of tedious XML, over-complex poms, etc. etc. Every project I've worked with in Maven must have been setup incorrectly because they were all terribly painful to build. That being said, I've tried Gradle (knew a guy who worked for them too) and it's really nice. I could see using it over SBT. The trouble is sbt has a lot of nice plugins (sbt-native-package, sbt-docker) which, last time I checked, didn't have equivalences in the Gradle world (they might now).
- barrkel 10y agoThe biggest pain point I've had from Maven is trying to compile the sub-tree that uses SBT. YMMV, but Maven integration in IntelliJ makes it extremely pleasant to use.
- SureshG 10y agoGradle now supports kotlin (https://github.com/gradle/gradle-script-kotlin https://github.com/gradle/gradle-script-kotlin) for writing your build scripts and the IDE (Intellij) integration is very nice there too.