version.gradle 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /*
  2. Version Info Examples
  3. =====================
  4. Nightly Build Snapshot
  5. * Full Version: 3.1.0-5124
  6. * POM Version: 3.1.0-SNAPSHOT
  7. * NBM Version: 3.1.0.5124
  8. * NBM UC Suffix: nightly/3.1/plugins
  9. Nightly Build Snapshot (PBRIsComing branch)
  10. * Full Version: 3.1.0-PBRIsComing-5124
  11. * POM Version: 3.1.0-PBRIsComing-SNAPSHOT
  12. * NBM Version: 3.1.0.5124
  13. * NBM UC Suffix: PBRIsComing-nightly/3.1/plugins
  14. Alpha1 Release
  15. * Full Version: 3.1.0-alpha1
  16. * POM Version: 3.1.0-alpha1
  17. * NBM Version: 3.1.0.0
  18. * NBM UC Suffix: alpha1/3.1/plugins
  19. Final Release
  20. * Full Version: 3.1.0
  21. * POM Version: 3.1.0
  22. * NBM Version: 3.1.0.0
  23. * NBM UC Suffix: stable/3.1/plugins
  24. */
  25. import java.text.SimpleDateFormat
  26. import org.ajoberstar.grgit.*
  27. buildscript {
  28. repositories {
  29. mavenCentral()
  30. }
  31. dependencies {
  32. classpath 'org.ajoberstar:gradle-git:1.2.0'
  33. }
  34. }
  35. ext {
  36. jmeRevision = 0
  37. jmeGitHash = ""
  38. jmeGitTag = ""
  39. jmeShortGitHash = ""
  40. jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
  41. jmeBranchName = "unknown"
  42. jmeFullVersion = "${jmeVersion}-UNKNOWN"
  43. jmePomVersion = "unknown"
  44. jmeNbmVersion = "0.0.0.0"
  45. jmeNbmUcSuffix = "unknown"
  46. }
  47. task configureVersionInfo {
  48. try {
  49. def grgit = Grgit.open(project.file('.'))
  50. jmeRevision = grgit.log(includes:['HEAD']).size()
  51. jmeGitHash = grgit.head().id
  52. jmeShortGitHash = grgit.head().abbreviatedId
  53. jmeBranchName = grgit.branch.current.name
  54. jmeGitTag = grgit.describe()
  55. if (jmeGitTag == null) jmeGitTag = ""
  56. jmeFullVersion = "${jmeVersion}"
  57. jmePomVersion = jmeVersion
  58. jmeNbmVersion = jmeVersion
  59. if (jmeBranchName != "master") {
  60. jmeFullVersion += "-${jmeBranchName}"
  61. jmePomVersion += "-${jmeBranchName}"
  62. jmeNbmUcSuffix = "${jmeBranchName}-"
  63. } else {
  64. jmeNbmUcSuffix = ""
  65. }
  66. if (jmeVersionTag == "SNAPSHOT") {
  67. jmeNbmUcSuffix += "nightly"
  68. } else if (jmeVersionTag == "") {
  69. jmeNbmUcSuffix += "stable"
  70. } else {
  71. jmeNbmUcSuffix += jmeVersionTag
  72. }
  73. jmeNbmUcSuffix += "/" + jmeMainVersion + "/plugins"
  74. if (jmeVersionTag == "SNAPSHOT") {
  75. jmeFullVersion += "-${jmeRevision}"
  76. jmePomVersion += "-SNAPSHOT"
  77. jmeNbmVersion += ".${jmeRevision}"
  78. } else if (jmeVersionTag == "") {
  79. jmeNbmVersion += ".0"
  80. } else {
  81. jmeFullVersion += "-${jmeVersionTag}"
  82. jmePomVersion += "-${jmeVersionTag}"
  83. jmeNbmVersion += ".0"
  84. }
  85. logger.warn("Full Version: ${jmeFullVersion}")
  86. logger.warn("POM Version: ${jmePomVersion}")
  87. logger.warn("NBM Version: ${jmeNbmVersion}")
  88. logger.warn("NBM UC Suffix: ${jmeNbmUcSuffix}")
  89. } catch (ex) {
  90. // Failed to get repo info
  91. logger.warn("Failed to get repository info: " + ex.message + ". " + \
  92. "Only partial build info will be generated.")
  93. }
  94. }