Re: request for help with buildnumber-maven-plugin git integration
- From
Adam Monsen <haircut@gmail.com>
- Date
- May 27, 2010, 04:15 UTC
- Message-ID
- <loom.20100527T061506-817@post.gmane.org>
- In-Reply-To
- <loom.20100514T010951-900@post.gmane.org>
I wrote, about a week ago:
Show 8 quoted lines
> Maven is a build system used by many Java-based projects. Some > folks have added Git support, allowing the inclusion of build > identifiers (like branches and commit hashes) in products of Maven > builds. But they need help to complete it. Is anyone interested in > helping? > > This is something we (Mifos) need, so if you do help, know that > you'll be helping to end world poverty.
FYI, I gave up trying to fix the integration tests, or to modify the plugin to suit my needs. I instead used groovy script right in my POM, and set project properties that are filtered into a file included in our war.
Here's the Groovy snippet I used, modified to have shorter names to prevent wrapping:
def env = System.getenv()
def gitcmd = "git"
if (env['OS'] =~ /^Windows/)
gitcmd = "cmd /c ${gitcmd}"
def gcmd = """${gitcmd} log --pretty=format:%H -n1""".execute()
project.properties['mifos_commit'] = gcmd.in.text
project.properties['mifos_build'] = env['BUILD_TAG'] ?: 'DEV'
project.properties['mifos_date'] = "" + new Date()"BUILD_TAG" is something set by the Hudson continuous integration server (that's what we use).
Here's the script, in vivo (commit 5dfe4d1abda09713b296ea2524): http://tinyurl.com/3xcxp9n
I figured trading lots of lines of Java, XML, etc. for 8 lines of maintainable/portable Groovy was a good move.
Hope this helps someone else using Maven and git who needs build identifiers available as properties, -Adam