[osmosis-dev] Gradle Build Scripts
Brett Henderson
brett at bretth.com
Sun Nov 11 11:29:13 GMT 2012
Hi All,
I'm keen to switch the Osmosis build over to using the Gradle build tool
instead of Ant. I've just checked in some new Gradle scripts. The current
Ant build works reasonably well, but I've lost many hours getting it to its
current point, and introducing new features is always a lot of effort.
The new scripts are on my github repo on the gradle branch. There are some
basic instructions on its use in the project README.
https://github.com/brettch/osmosis/tree/gradle
Gradle for those who don't know it is a newer build tool written in the
Groovy language. It provides its own DSL (Domain Specific Language) for
defining build scripts, but anything not directly supported is a short bit
of Groovy script away. It provides a number of plugins for common tasks
such as java builds and eclipse IDE support. As such it provides a lot of
the power of Maven, but is much less rigid when it doesn't quite meet your
needs.
Below are some pros and cons.
Advantages of Gradle:
* Simpler multi-project build support.
* Greatly reduced custom build scripting.
* Eclipse project files are auto-generated (and removed from source
control).
* Source is included on all dependencies in Eclipse (great debugging aid).
* Considerably faster build times (on my desktop a build excluding tests
takes 6 seconds versus 47 seconds in ant, full build just over 1 minute
versus just over 2.5 minutes for ant).
* No need to publish and resolve artefacts between projects using Ivy which
leads to faster builds and less consumed disk space.
* Very effective conditional compilation, much faster during development.
* Good set of pre-built plugins.
* No need to install gradle, the wrapper script bootstraps itself to the
correct version.
Disadvantages of Gradle:
* Much more "magic" involved, and less readable.
* Can't tweak build order to move tests as late as possible in build
process.
* Project names in Eclipse no longer have an Osmosis prefix.
There are probably other disadvantages that I haven't tripped over yet, but
so far it is working well.
If anybody has any thoughts either positive or negative please let me know.
Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/osmosis-dev/attachments/20121111/7897cd43/attachment.html>
More information about the osmosis-dev
mailing list