5 ms·
I've use the unofficial Android Maven plugin before the official Gradle plugin was released. When the Gradle plugin came out, it made my builds so much simpler
by matharmin 9y ago
I've use the unofficial Android Maven plugin before the official Gradle plugin was released. When the Gradle plugin came out, it made my builds so much simpler than it used to be with Maven. As much as I like XML, having 4 lines per dependency is way too much. And having to write a custom plugin every time you want some custom logic is terrible. The Maven ecosystem may have increased since then, but I'm very glad they chose Gradle over Maven.
- jxub 9y agoSomething awesome would be to have a S-expression to Maven XML transpiler. Parens instead of xml tags. Is there something like that?
- divs1210 9y agoNot a transpiler, but we use something similar all the time in Clojureland. https://leiningen.org https://leiningen.org It can easily be used as a Java build tool.
- sitkack 9y agoThe encoding (XML) isn't Maven's problem, the semantics are.
- papercrane 9y agoYou could do something like that with polygot-maven. https://github.com/takari/polyglot-maven https://github.com/takari/polyglot-maven
- pjmlp 9y agoThe beauty of XML is that is designed for tooling, not to be written by hand. So for me adding a dependency is just a matter of using the graphical tooling in Eclipse and Netbeans. All major headaches I "enjoyed" with Maven was custom logic coming from Ant scripts, from team not willing to adopt a more declarative way of designing their projects. With Gradle, I get the same mess Ant used to be, just slower.
- sitkack 9y agoI shouldn't be getting nerd sniped by comment about Maven but here goes. Maven doesn't compose because it is an ad-hoc lisp where every element has different semantics, every element is a different language. This isn't an XML problem, but a way that XML fragments in Maven map to the interpreters of those fragments. Maven could have been an amazingly compact expressive combination of a logic/constraint solver with a declarative language, instead it is PHP written in XML. Maven is declarative only in that it has a textual interface.
- chickenbane 9y agoMy disclaimer: my coworkers are using Scala and SBT. Gradle + Java isn't slower than Ant or Maven. Gradle + Kotlin is a little slower, they just need to make the annotation processors incremental. But for Java, incremental builds with compiler avoidance combined with the build cache, parallel builds (incubating features close to maturity) mean I write more sophisticated, easier to maintain builds than I ever have with Maven.