| Thanks for this Mickael, great &
      helpful post.
 
 On 05/02/14 02:25, Mickael Istria wrote:
 
 
      
      FYI, at last EclipseCon France, I had the opportunity to make a
      tutorial together with Jeff Maury about Tycho. Most people who
      didn't know Tycho (or built tools in general) were impressed by
      the ability for Tycho to work with a few concepts to understand
      (target platforms + pom files), and it's ability to easily plug
      interesting stuff on it, such as surefire, jacoco or Sonar.But some people immediately came after the talk to ask whether
      there was some similar development available on Gradle (basically
      integration of p2 as dependency resolver). Those people were quite
      enthusiastic about Gradle which according to them is much simpler
      that Maven. There is somewhere a piece of work of a Gradle plugin
      for PDE/RCP project (https://github.com/gboissinot/gradleplugins)
      but AFAIK it's not very usable.
 
 I've seen some Gradle scripts, and I don't see them as a big
      improvement over Maven. The main difference is that instead of XML
      you have a DSL which is more concise in term of characters, but in
      the end, you have the same amount of stuff to configure (the
      payload is the same, just the format change). A big benefit of
      Gradle IMO is that it automatically allows Groovy as _expression_
      language, which is pretty useful in some cases. The drawback of
      _expression_ language is that it tends to make you build descriptor
      a big piece of script, which is not that case with Maven and its
      pure-descriptive approach. So when using Groovy in Gradle, you'd
      have to use or write Mojo with Maven. The benefit of Maven mojos
      is that they can be shared.
 Maven drives to homogeneity between pom files because of its
      constraints; I'm feeling Gradle re-enables the big pitfall of Ant
      with files quickly becoming big pieces of script readable and
      maintainable by only the original author... IMO, conventions and
      good practices are not enough to provide easy maintenance, I have
      more trust in the benevolent dictatorship of Maven and conformance
      to strong constraints.
 
 So I'm not going to be an early adopter of Gradle. I have more
      hope in having a less verbose Maven, using something else than xml
      (such as Yaml) and with the ability to look in other files
      (MANIFEST) for data to avoid duplication and derive the
      effective-pom; but with a strict lifecycle and some strict
      constraints.
 
 Cheers,
 
 
 |