From a1b67e37209478578925d616ee7340b0cab60d75 Mon Sep 17 00:00:00 2001 From: str4d <str4d@mail.i2p> Date: Sun, 17 Feb 2019 01:56:24 +0000 Subject: [PATCH] Gradle: Parse router version from Java source --- build.gradle | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 57ef779dde..9f7b1e7f45 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,41 @@ plugins { id 'idea' } +String getReleaseVersion() { + def releaseVersion + file("core/java/src/net/i2p/CoreVersion.java").readLines().findAll({ line -> + line.contains("public final static String VERSION") + }).first().eachMatch('.*"([^"]+)";', { + releaseVersion = it[1] + }) + releaseVersion +} + +String getBuildVersion() { + def buildVersion + file("router/java/src/net/i2p/router/RouterVersion.java").readLines().findAll({ line -> + line.contains("public final static long BUILD") + }).first().eachMatch('.*=\\s+([0-9]+);', { + buildVersion = it[1] + }) + buildVersion +} + +String getBuildExtra() { + def buildExtra + file("router/java/src/net/i2p/router/RouterVersion.java").readLines().findAll({ line -> + line.contains("public final static String EXTRA") + }).first().eachMatch('.*"(.*)";', { + buildExtra = it[1] + }) + buildExtra +} + +def releaseVersion = getReleaseVersion() +def buildVersion = getBuildVersion() +def buildExtra = getBuildExtra() +def fullVersion = "$releaseVersion-$buildVersion$buildExtra" + // Exclude apps/ dir itself, but include its subdirs def javaProjects = subprojects - project(':apps') @@ -23,7 +58,7 @@ configure(javaProjects) { jar { manifest { - attributes 'Implementation-Version': '0.9.31-7' + attributes 'Implementation-Version': "$fullVersion" } } -- GitLab