Hi Greg and folks,
I really liked the direction of the new build changes that were checked into the development branch, namely:
- switching the snapshot artifact generation to use the maven standard (as opposed to -dev)
- generation of javadoc and source jars
- using maven uploader for artifacts
- and applying the signing plugin
I have a couple of comments / suggestions. A while ago
I had posted a fork with a mostly gradle-driven build that combined all java build components into a single multi-build project, and wrapped the grails project with gradle tasks to manage generating the dependencies, installing them into the mavenLocal() repo and then defined the dependency in grails to pull in the correct version (snapshot or release). The advantage being that one could simply issue "gradle build" from the root project and let gradle decide what needed to be rebuilt, which significantly speeds things up for development.
You can find the work I've done here:
One of the niftier bits is that I'm setting the version under the root gradle.properties, appending -SNAPSHOT based on a build-type property (dev vs release) and then automatically updating grails' application.properties with the correct version. Seems somewhat similar to what you're introducing, no?
Would it make sense to combine both efforts?
The missing bits in my build were integrating package generation, docs and maven pom updates, though I'd be happy to work on those if we think this is the way to go.
Cheers,
JB