Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[open-measured-data-wg] the case for Gradle as a build tool

Hello everyone,

As you may be aware, during the last AC meeting the discussion around technologies and tools too place. One of the open questions is whether to pick Maven or Gradle as the preferred build tool. Most attendees are leaning towards Maven, which is a well stablished player in the market. However Gradle has become a serious competitor in this area.

Let me first begin by saying that using Maven and Gradle in the same project configuration is not possible without duplication of configuration, redundancy and perhaps some missing features from either side. However what can be done is build some projects with Maven and some others with Gradle. This enables vendors to select their preferred build tool of choice. As long as the build tool creates artefacts conforment to specifications, which can be published to artefact repositories that either build tool can consume then there’s no problem. Even if a single build tool was chosen vendors still need to document the required steps to make a successful build.

Allow me to share some links on why Gradle is a better alternative for the OpenMDM platform, a platform that should be alive for years to come and be a ready for change:

Written by Benjamin Muschko, author of “Gradle in Action”, currently employed by Gradleware.

A series of documents explaining in detail the Gradle model and its features

A comparison between the two tools

This may be of  particular interest to members that need to create modules written in other languages and/or platforms. Let me remark that Maven supports *some* (like JS via Gulp, Grunt or Node (perhaps)) but not all. Maven is a tool designed for the JVM, using Java conventions. Grade is a tool designed for builds, it so happens to run on the JVM but it’s not exclusively tied to Java/JVM semantics.

As an experienced user of Make, Ant, Maven 1, Maven 2 and Gradle I can honestly say that Gradle is the best build tool that we can have today. Just like it happened before, when organisations switched from nothing (or Make) to Ant, then Maven, we’ll migrate to Gradle. It’s not a matter of IF, but rather WHEN. The time to act is now.

Bottom line is, we have at least 3 choices:

 #1 Maven as a single, homogenic build tool (if we’re lucky not even using the Ant runner plugin but I doubt it).
 #2 Gradle as a single build tool.
 #3 A mixed environment of Maven and Gradle, with a single tool per project and/or Vendor.

Personally I’d select #2 because Maven is not worth the pain IMHO, however #3 gives the best options to *everyone*.

Best,
Andres

 
Andres Almiray
Canoo Engineering AG
Kirschgartenstrasse 5
CH-4051 Basel

Tel: +41 61 228 94 44
Fax: +41 61 228 94 49

andres.almiray@xxxxxxxxx
http://www.canoo.com


Back to the top