You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by mehdi houshmand <me...@gmail.com> on 2012/09/24 14:36:01 UTC

Gradle build script

Hi All,

I've just started a new branch (Temp_Gradle_Build) that, as the name
suggests, is some work myself and Pete have done to create a build script
in Gradle [1]. This concept isn't intended as a replacement for the Ant
script, but rather to complement Ant for those that would prefer to use it.
I'll address some questions you may have about our motivations:

1) Why Gradle?
For me, mostly because it's quick to write, quick to extend and very
powerful. You write the script in Groovy [2], which is a very dynamic and
powerful language. It takes a little getting used to, but I firmly believe
it's much more readable and concise than Ant or Maven. It also leverages
the Maven dependency management system so that we don't have to include
JARs in the svn checkout. The Maven repositories also give use better
control especially for transitive and runtime dependencies like the OFFO
fop-hyph JAR, JAI, the PDF-image plugin etc.

2) How do you intend to proceed?
Basically the way I've implemented the tasks so far, I intend to make the
tasks a 1:1 mapping for the Ant script, such that every task in the
build.xml has an equivocal task in the build.gradle. This is a bit of a
violation of the Gradle paradigm, but hopefully it'll help to convince
people that it's more concise, easier to read and easer to maintain.

Peruse the script at your leisure, if anyone has questions, please feel
free to ask and I'll try and answer them in the best way I can. I haven't
put many comments in the code because I kind of think it's self-explanatory
but if people feel like there should be more, I'd be happy to put them in.
I should also note that this isn't near completion, so I'm not asking for
this to go into trunk any time soon, but if anyone else feels like they
wish to contribute, please feel free to do so.

Thanks

Mehdi

[1] http://www.gradle.org/
[2] http://groovy.codehaus.org/