version.gradle 608 B

12345678910111213141516171819202122
  1. def getGitHash = { ->
  2. def stdout = new ByteArrayOutputStream()
  3. exec {
  4. commandLine 'git', 'rev-parse', '--short', 'HEAD'
  5. standardOutput = stdout
  6. }
  7. return stdout.toString().trim()
  8. }
  9. tasks.register("writeVersionNumberFile") {
  10. def versionFile = file("${sourceSets.main.output.resourcesDir}/${project.name}.version")
  11. inputs.property "version", project.version
  12. outputs.file versionFile
  13. doFirst {
  14. assert versionFile.parentFile.mkdirs() || versionFile.parentFile.directory
  15. versionFile.text = "${project.version}~${getGitHash()}"
  16. }
  17. }
  18. compileJava.dependsOn writeVersionNumberFile