From 9e3021d19e81d0b95428e724dcb7db7b03c72518 Mon Sep 17 00:00:00 2001
From: Jens Bendisposto <jens@bendisposto.de>
Date: Sat, 1 Aug 2015 13:14:15 +0200
Subject: [PATCH] auto generate version class from gradle version number

---
 .gitignore   |  4 +++-
 build.gradle | 23 ++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index fe3bec2..6aa4928 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,4 +15,6 @@ tmp/
 PROB_LOGFILE_IS_UNDEFINED
 .settings/org.eclipse.jdt.ui.prefs
 src/main/resources/build.properties
-config.groovy
\ No newline at end of file
+config.groovy
+local.*
+Version.java
diff --git a/build.gradle b/build.gradle
index 2ee8776..04d2c52 100644
--- a/build.gradle
+++ b/build.gradle
@@ -37,10 +37,31 @@ artifacts {
     archives javadocJar, sourcesJar
 }
 
+task writeVersion() {
+
+  doFirst {
+  def buildconstants_class = """
+  package org.sablecc.sablecc;
+
+  public class Version
+  {
+    public static final String VERSION = "${project.version}";
+  }
+  """
+  File f = file("src/main/java/org/sablecc/sablecc/Version.java")
+  f.delete()
+  f <<  buildconstants_class
+ }
+}
+
+compileJava {
+  dependsOn = ['writeVersion']
+}
+
 task deploy(dependsOn: [jar,test,javadoc], group: 'Build')
 
 if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
-  
+
 apply plugin: 'signing'
 
 signing {
-- 
GitLab