if (!hasProperty('mainClass')) { ext.mainClass = '' } sourceSets { main { java { srcDir 'src/main/java' srcDir 'src/plugins/java' srcDir 'src/tools/java' } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'org.ajoberstar:gradle-git:1.0.0-rc.1' } } import java.text.SimpleDateFormat import org.ajoberstar.grgit.* task updateVersion << { def verfile = file('src/main/java/com/jme3/system/JmeVersion.java') def jmeGitHash def jmeShortGitHash def jmeBuildDate def jmeBranchName try { def grgit = Grgit.open(project.file('.').parent) jmeGitHash = grgit.head().id jmeShortGitHash = grgit.head().abbreviatedId jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()) jmeBranchName = grgit.branch.current.name } catch (ex) { // Failed to get repo info logger.warn("Failed to get repository info: " + ex.message + ". " + \ "Only partial build info will be generated.") jmeGitHash = "" jmeShortGitHash = "" jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()) jmeBranchName = "unknown" } verfile.text = "\npackage com.jme3.system;\n\n" + "/**\n * THIS IS AN AUTO-GENERATED FILE..\n * DO NOT MODIFY!\n */\n" + "public class JmeVersion {\n" + " public static final String BUILD_DATE = \"${jmeBuildDate}\";\n" + " public static final String BRANCH_NAME = \"${jmeBranchName}\";\n" + " public static final String GIT_HASH = \"${jmeGitHash}\";\n" + " public static final String GIT_SHORT_HASH = \"${jmeShortGitHash}\";\n" + " public static final String FULL_NAME = \"jMonkeyEngine ${jmeVersion} (${jmeVersionTag})\";\n" + "}\n" } compileJava.dependsOn(updateVersion) dependencies { }