From 820f3d4d6f4f45fe60fe13aab0b95578bb376d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de> Date: Sat, 8 Jan 2022 15:57:15 +0100 Subject: [PATCH] Make git branch available in BuildData, too --- .../GenerateBuildDataSourceTask.java | 30 ++++++++++++++++--- .../org/briarproject/briar/desktop/Main.kt | 6 ++-- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/java/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.java b/buildSrc/src/main/java/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.java index 0dc1deacf6..51093d24da 100644 --- a/buildSrc/src/main/java/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.java +++ b/buildSrc/src/main/java/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.java @@ -43,7 +43,7 @@ public class GenerateBuildDataSourceTask extends AbstractBuildDataTask { String version = project.getVersion().toString(); /* - * Get Git hash and last commit time using JGit + * Get Git hash, last commit time and current branch using JGit */ // Open git repository File dir = project.getProjectDir(); @@ -65,8 +65,21 @@ public class GenerateBuildDataSourceTask extends AbstractBuildDataTask { // Convert from seconds to milliseconds long commitTime = first.getCommitTime() * 1000L; + // Get current branch, if any + String gitBranch = "<unknown>"; + String prefix = "refs/heads/"; + String fullBranch = repository.getFullBranch(); + if (fullBranch.startsWith(prefix)) { + gitBranch = fullBranch.substring(prefix.length()); + } + + /* + * Generate output file + */ + if (packageName == null) { - throw new IllegalStateException("Please specify 'packageName'."); + throw new IllegalStateException( + "Please specify 'packageName'."); } String[] parts = packageName.split("\\."); @@ -83,7 +96,7 @@ public class GenerateBuildDataSourceTask extends AbstractBuildDataTask { Path file = path.resolve(className + ".java"); String content = createSource(packageName, className, version, - commitTime, gitHash); + commitTime, gitHash, gitBranch); InputStream in = new ByteArrayInputStream( content.getBytes(StandardCharsets.UTF_8)); @@ -101,7 +114,7 @@ public class GenerateBuildDataSourceTask extends AbstractBuildDataTask { } private String createSource(String packageName, String className, - String version, long gitTime, String gitHash) { + String version, long gitTime, String gitHash, String gitBranch) { FileBuilder buffer = new FileBuilder(); // // this file is generated, do not edit // package org.briarproject.briar.desktop; @@ -118,12 +131,14 @@ public class GenerateBuildDataSourceTask extends AbstractBuildDataTask { buffer.line(" public static String getVersion() {"); buffer.line(" return \"" + version + "\";"); buffer.line(" }"); + buffer.line(); // public static long getGitTime() { // return 1641645802088L; // } buffer.line(" public static long getGitTime() {"); buffer.line(" return " + gitTime + "L;"); buffer.line(" }"); + buffer.line(); // public static long getGitHash() { // return "749dda081c3e7862050255817bc239b9255b1582"; // } @@ -131,6 +146,13 @@ public class GenerateBuildDataSourceTask extends AbstractBuildDataTask { buffer.line(" return \"" + gitHash + "\";"); buffer.line(" }"); buffer.line(); + // public static String getGitBranch() { + // return "master"; + // } + buffer.line(" public static String getGitBranch() {"); + buffer.line(" return \"" + gitBranch + "\";"); + buffer.line(" }"); + buffer.line(); buffer.line("}"); return buffer.toString(); diff --git a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt index f697bceb49..5d6477c123 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt @@ -77,8 +77,10 @@ private class Main : CliktCommand( val buildTime = Instant.ofEpochMilli(BuildData.getGitTime()).atZone(ZoneId.systemDefault()).toLocalDateTime() val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") LOG.info { "This is briar-desktop version ${BuildData.getVersion()}" } - LOG.info { "Built from Git hash ${BuildData.getGitHash()}" } - LOG.info { "Last commit time ${formatter.format(buildTime)}" } + LOG.info { "Build info:" } + LOG.info { " Git hash ${BuildData.getGitHash()}" } + LOG.info { " Commit time ${formatter.format(buildTime)}" } + LOG.info { " Branch ${BuildData.getGitBranch()}" } val dataDir = getDataDir() val app = -- GitLab