build.gradle 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. if (!hasProperty('mainClass')) {
  2. ext.mainClass = ''
  3. }
  4. sourceSets {
  5. main {
  6. java {
  7. srcDir 'src/main/java'
  8. srcDir 'src/plugins/java'
  9. srcDir 'src/tools/java'
  10. }
  11. }
  12. }
  13. buildscript {
  14. repositories {
  15. mavenCentral()
  16. }
  17. dependencies {
  18. classpath 'org.ajoberstar:gradle-git:1.0.0-rc.1'
  19. }
  20. }
  21. import java.text.SimpleDateFormat
  22. import org.ajoberstar.grgit.*
  23. task updateVersion << {
  24. def verfile = file('src/main/java/com/jme3/system/JmeVersion.java')
  25. def jmeGitHash
  26. def jmeShortGitHash
  27. def jmeBuildDate
  28. def jmeBranchName
  29. try {
  30. def grgit = Grgit.open(project.file('.').parent)
  31. jmeGitHash = grgit.head().id
  32. jmeShortGitHash = grgit.head().abbreviatedId
  33. jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
  34. jmeBranchName = grgit.branch.current.name
  35. } catch (ex) {
  36. // Failed to get repo info
  37. logger.warn("Failed to get repository info: " + ex.message + ". " + \
  38. "Only partial build info will be generated.")
  39. jmeGitHash = ""
  40. jmeShortGitHash = ""
  41. jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
  42. jmeBranchName = "unknown"
  43. }
  44. verfile.text = "\npackage com.jme3.system;\n\n" +
  45. "/**\n * THIS IS AN AUTO-GENERATED FILE..\n * DO NOT MODIFY!\n */\n" +
  46. "public class JmeVersion {\n" +
  47. " public static final String BUILD_DATE = \"${jmeBuildDate}\";\n" +
  48. " public static final String BRANCH_NAME = \"${jmeBranchName}\";\n" +
  49. " public static final String GIT_HASH = \"${jmeGitHash}\";\n" +
  50. " public static final String GIT_SHORT_HASH = \"${jmeShortGitHash}\";\n" +
  51. " public static final String FULL_NAME = \"jMonkeyEngine ${jmeVersion} (${jmeVersionTag})\";\n" +
  52. "}\n"
  53. }
  54. compileJava.dependsOn(updateVersion)
  55. dependencies {
  56. }