aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lombok')
-rw-r--r--src/core/lombok/core/Version.java36
1 files changed, 35 insertions, 1 deletions
diff --git a/src/core/lombok/core/Version.java b/src/core/lombok/core/Version.java
index 0b6696da..6b1ed0f8 100644
--- a/src/core/lombok/core/Version.java
+++ b/src/core/lombok/core/Version.java
@@ -21,6 +21,8 @@
*/
package lombok.core;
+import java.io.InputStream;
+
/**
* This class just holds lombok's current version.
*/
@@ -66,6 +68,38 @@ public class Version {
}
public static String getFullVersion() {
- return String.format("v%s \"%s\"", VERSION, RELEASE_NAME);
+ String version = String.format("v%s \"%s\"", VERSION, RELEASE_NAME);
+ if (!isEdgeRelease()) return version;
+
+ InputStream in = Version.class.getResourceAsStream("release-timestamp.txt");
+ if (in == null) return version;
+ try {
+ byte[] data = new byte[65536];
+ int p = 0;
+ while (p < data.length) {
+ int r = in.read(data, p, data.length - p);
+ if (r == -1) break;
+ p += r;
+ }
+
+ String timestamp = new String(data, "UTF-8").trim();
+ return version + " - " + timestamp;
+ } catch (Exception e) {
+ try {
+ in.close();
+ } catch (Exception ignore) {}
+ }
+
+ return version;
+ }
+
+ public static boolean isEdgeRelease() {
+ int lastIdx = VERSION.lastIndexOf('.');
+ if (lastIdx == -1) return false;
+ try {
+ return Integer.parseInt(VERSION.substring(lastIdx + 1)) % 1 == 1;
+ } catch (Exception e) {
+ return false;
+ }
}
}