Browse Source

build: only update version file when it changed

Avoids recompiling jme3-core on every build
Kirill Vainer 9 years ago
parent
commit
74e398342f
1 changed files with 22 additions and 18 deletions
  1. 22 18
      jme3-core/build.gradle

+ 22 - 18
jme3-core/build.gradle

@@ -17,23 +17,27 @@ sourceSets {
     }
 }
 
-task updateVersionPropertiesFile << {
-    def verfile = file('src/main/resources/com/jme3/system/version.properties')
-    verfile.text = "# THIS IS AN AUTO-GENERATED FILE..\n" +
-                   "# DO NOT MODIFY!\n" + 
-                   "build.date=${jmeBuildDate}\n" +
-                   "git.revision=${jmeRevision}\n" +
-                   "git.branch=${jmeBranchName}\n" + 
-                   "git.hash=${jmeGitHash}\n" + 
-                   "git.hash.short=${jmeShortGitHash}\n" + 
-                   "git.tag=${jmeGitTag}\n" + 
-                   "name.full=jMonkeyEngine ${jmeFullVersion}\n" +
-                   "version.full=${jmeFullVersion}\n" +
-                   "version.number=${jmeVersion}\n" + 
-                   "version.tag=${jmeVersionTag}"
-}
-
-compileJava.dependsOn(updateVersionPropertiesFile)
+task updateVersionPropertiesFile {
+    def versionFile = file('src/main/resources/com/jme3/system/version.properties')
+    def versionFileText = "# THIS IS AN AUTO-GENERATED FILE..\n" +
+                          "# DO NOT MODIFY!\n" +
+                          "build.date=${jmeBuildDate}\n" +
+                          "git.revision=${jmeRevision}\n" +
+                          "git.branch=${jmeBranchName}\n" +
+                          "git.hash=${jmeGitHash}\n" +
+                          "git.hash.short=${jmeShortGitHash}\n" +
+                          "git.tag=${jmeGitTag}\n" +
+                          "name.full=jMonkeyEngine ${jmeFullVersion}\n" +
+                          "version.full=${jmeFullVersion}\n" +
+                          "version.number=${jmeVersion}\n" +
+                          "version.tag=${jmeVersionTag}"
 
-dependencies {
+    outputs.upToDateWhen { 
+        versionFile.text == versionFileText
+    }
+    doLast {
+        versionFile.text = versionFileText
+    }
 }
+
+processResources.dependsOn updateVersionPropertiesFile