5 ms·
> If you work in Java and you are still stuck with Maven, please, take a look at Gradle. or ivy? i really haven't spent a lot of time toying with the various
by auvrw 13y ago
> If you work in Java and you are still stuck with Maven, please, take a look at Gradle.
or ivy? i really haven't spent a lot of time toying with the various build systems. i tend to use ant until manual dependency management becomes ... unmanageable, then maven because i've apparently been brainwashed (i.e. i heard that they use maven at a lot of not-so-bad companies like thoughtworks).
after the article, i do like the suggestion of ivy+buck, neither of which i'd paid attention to before below the clamor of gradle trampling upon maven. before starting considerations along the lines "this software does not do X" or "it does X wrong," what about asking "what's a reasonable task for a single tool?" or more specifically,
"do we really want dependency management and builds handled by the same program?" my impulse is always to go for things that are as modular as possible, but perhaps the reflex response of "no" isn't correct for some reason obscured by lack of experience with the particular problem domain.
- ajanuary 13y agoIronically the biggest pain with Ivy is that 99% of your dependencies will be pulled in from Maven oriented sources, so you still have to deal with Maven's deficiencies around dependency configurations.
- smrtinsert 13y agohow so? you can even use regexs easily to specify which transitive deps you don't want. what are you missing?
- koevet 13y agoIvy is "only" a dependency manager, you can't build stuff with it. Gradle was originally based on Ivy but they decided to roll their own Ivy/Maven compatible dependency engine. Gradle is a very powerful engine: we use it not only to build Java/Scala/Groovy code but also to drive our continuous integration/deployment cycle. Again, it obviously depends on your requirements, but if you have to deal with large and complex projects, with lots of submodules to build, do consider Gradle.
- gaius 13y agoI looked at all these tools... Then carried on using Makefiles. Seriously, people, building has been a solved problem for decades. Let's all stop fooling around and concentrate on actually writing code!
- koevet 13y agoWell, I use VIM to write Java/Scala/Groovy/Python code but unfortunately large, complex projects do exists and the java ecosystem is particularly good at making things more complex that they need to be. A reliable, flexible and built on sane principles build system is required when dealing with large enterprisey projects.
- IanCal 13y ago> Then carried on using Makefiles How do you deal with versioned dependencies with Makefiles?
- gaius 13y agoObviously the Makefiles gets branched with the err, branch. And merged with the merge.
- IanCal 13y agoI don't mean how do you version a Makefile, but if your project depends on 6 libraries (with various version requirements) each with their own sets of dependencies, how do you use Makefiles to download & install all of them?
- gaius 13y agoAh, I see. Well I don't get involved in projects as Rube Goldberg as that. The 3rd party libraries I rely on have stable interfaces, and current-version is always preferable.
- 13y ago
- clumsysmurf 13y agoActually, according to the May 2013 Thoughtworks Tech Radar at http://www.thoughtworks.com/radar http://www.thoughtworks.com/radar In the Tools category, Gradle is "Adobt", while Maven is on "Hold". You can read the full report but I'll exert the relevant section: "Language-based build tools like Gradle and Rake continue to offer finer-grained abstractions and more flexibility long term than XML and plug-in based tools like Ant and Maven. This allows them to grow gracefully as projects become more complex." They had a more elaborate explanation in previous editions.
- pjmlp 13y agoIn many enterprises we work for, Maven is still in the "to adopt" phase. Having said this, I am also an Ant guy for simple projects. Too many scars from an Ant -> Maven migration. All pom.xml files ended up more complex than the original build.xml files, as Maven did not have proper support for the way the build was working before.
- beamso 13y agoAnd the last in the list of references in the last page of the PDF is : Why Everyone (Eventually) Hates (or Leaves) Maven : http://nealford.com/memeagora/2013/01/22/why_everyone_eventually_hates_maven.html http://nealford.com/memeagora/2013/01/22/why_everyone_eventu...