All these points were what got me excited about Gradle in the first place
but the honeymoon didn't last long (well, actually, it lasted a few years
and I'm only now beginning to grow a bit more sour).

I thought that Gradle's conciseness was awesome until I realized that even
after years of usage, I still needed to copy/paste snippets from
StackOverflow whenever I needed to do something that was not cookie cutter.
I was hardly ever able to figure these bits out by myself. I blame
(partially) Groovy for that since some code completion would help there,
but overall, this is due to the fact that the Gradle syntax is trying to be
both declarative and imperative but ends up being neither. So I can't use
my IDE to complete code nor to complete declarations.

I also used to think the Maven XML syntax was heinous but I've come around
this as well for a few reasons:

1. The XML choices that Maven made are extremely regular (e.g. no
attributes ever) which makes writing the XML very straightforward. I never
wonder if it's <foo bar="1" /> or <foo><bar>1</bar></foo>.

2. I actually never even write any of this because the Maven XML schema
makes writing pom.xml close to trivial in any of the two IDE's I use on a
daily basis. It's mostly a matter of control-spacing my way through.

I have a more thoughts but my attention is required elsewhere right now.







-- 
Cédric


On Sun, Sep 28, 2014 at 7:45 PM, clay <claytonw...@gmail.com> wrote:

> Wow, I'm surprised that people prefer Maven over Gradle.
>
> I prefer Gradle for a few reasons:
>
> - Way more concise. Gradle has a much cleaner syntax and doesn't require
> mountains of XML for everything. Each library dependency in a typical Maven
> pom often uses five lines of XML which is silly. Gradle and SBT have a much
> leaner syntax. I've converted Maven builds to Gradle and while still using
> plenty of comments and white space and not intentionally trying to write
> terse builds, the Gradle build is often an order of magnitude smaller. Like
> 5-8 times smaller.
>
> - Declarative when you want it, imperative logic when you need it. I've
> heard people say Maven forces you to be declarative, which is silly. Maven
> users frequently cram all kinds of file copying steps and other imperative
> logic into their XML Maven builds. Gradle is just designed to handle this
> use case well.
>
> - Multi-project builds are handled better. Gradle's approach of allowing
> everything in two files at the root (build.gradle/settings.gradle) is
> better than having pom.xml files scattered throughout the tree. Intra-tree
> dependencies are handled better. Shared third party library dependencies
> are handled better.
>
> Tooling? Maven is obviously more popular. IntelliJ has excellent Gradle
> support, but other IDEs may not.
>
> On Sunday, September 28, 2014 9:33:31 PM UTC-5, Cédric Beust ♔ wrote:
>>
>> My feelings exactly. Every time a new build system comes out, I get
>> excited, I try it and I realize that while it does fix a few things that
>> don't work very well in Maven, Maven still wins overall in usability,
>> productivity, tooling and general support.
>>
>> And yes, I put gradle firmly in that category. I'm excited about Gradle
>> for a few things but overall, it's still not a very clear jump forward
>> compared to Maven (and I think Android's decision to standardize on Gradle
>> is a mistake that they will back pedal from in the next couple of years).
>>
>>
>>
>> --
>> Cédric
>>
>>
>> On Sun, Sep 28, 2014 at 6:18 PM, Mark Derricutt <ma...@talios.com> wrote:
>>
>>> On 25 Sep 2014, at 20:45, pwagland wrote:
>>>
>>>  Which is one of the reasons that I listen. I love the opinionated views
>>>> that are opined. And I strongly endorse any podcast that doesn't like Maven
>>>> ;-)
>>>>
>>>
>>> Maven is a love/hate relationship - much like iTunes - it's not great,
>>> it's just that it's still better than everything else.
>>>
>>> Mark
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Java Posse" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to javaposse+...@googlegroups.com.
>>> To post to this group, send email to java...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/javaposse.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to javaposse+unsubscr...@googlegroups.com.
To post to this group, send email to javaposse@googlegroups.com.
Visit this group at http://groups.google.com/group/javaposse.
For more options, visit https://groups.google.com/d/optout.

Reply via email to