Re: request for help with buildnumber-maven-plugin git integration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I wrote, about a week ago:
> 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]