5 ms·
> SBT is the worst build tool I've seen in the 20 years of programming across a dozen languages. > > And by a very, very long margin. It has arcane syntax, is
by eeperson 8y ago
> SBT is the worst build tool I've seen in the 20 years of programming across a dozen languages.
>
> And by a very, very long margin. It has arcane syntax, is slow, is incredibly complex if you want to extend functionality
This seems a bit hyperbolic and a little vague. So, I can't really address it directly. Interestingly, I find sbt much easier to extend than most build tools because sbt tasks generally don't rely on side effects to communicate. Obviously YMMV.
> it has multiple configuration files
Doesn't every build tool have this? Or do you mean multiple config file formats? If that is the case, newer version of sbt have moved a single file format.
> the ridiculous Ivy global lock and inability to fetch Ivy artefacts in parallel etc
I can understand this concern. Ivy is kind of annoying. Fortunately, a new artifact resolver called Coursier[1] has been written and it solves this problem. You can use it now and it is currently in the process of being integrated as part of the default SBT install[2].
[1] https://github.com/coursier/coursier https://github.com/coursier/coursier
[2] https://github.com/sbt/sbt/issues/2997 https://github.com/sbt/sbt/issues/2997