version.gradle 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import java.text.SimpleDateFormat
  2. import org.ajoberstar.grgit.*
  3. buildscript {
  4. repositories {
  5. mavenCentral()
  6. }
  7. dependencies {
  8. classpath 'org.ajoberstar:gradle-git:1.2.0'
  9. }
  10. }
  11. ext {
  12. jmeRevision = 0
  13. jmeGitHash = ""
  14. jmeGitTag = ""
  15. jmeShortGitHash = ""
  16. jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
  17. jmeBranchName = "unknown"
  18. jmeFullVersion = "${jmeVersion}-UNKNOWN"
  19. jmePomVersion = "${jmeVersion}-UNKNOWN"
  20. }
  21. task configureVersionInfo {
  22. try {
  23. def grgit = Grgit.open(project.file('.'))
  24. def head = grgit.head()
  25. jmeRevision = grgit.log(includes: [head]).size()
  26. jmeGitHash = head.id
  27. jmeShortGitHash = head.abbreviatedId
  28. jmeBranchName = grgit.branch.current.name
  29. jmeGitTag = grgit.tag.list().find { it.commit == head }
  30. if (jmeGitTag != null) {
  31. jmeGitTag = jmeGitTag.name
  32. jmeFullVersion = jmeGitTag
  33. jmePomVersion = jmeGitTag
  34. } else if(jmeGitHash!=null&&!jmeGitHash.equals("")){
  35. jmeFullVersion = jmeGitHash
  36. jmePomVersion = jmeGitHash
  37. }
  38. logger.warn("Full Version: ${jmeFullVersion}")
  39. logger.warn("POM Version: ${jmePomVersion}")
  40. } catch (ex) {
  41. // Failed to get repo info
  42. logger.warn("Failed to get repository info: " + ex.message + ". " + \
  43. "Only partial build info will be generated.")
  44. }
  45. }