From 9eb16cda6af9b86207401de2feb8baf409e14687 Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Sun, 13 Mar 2022 21:00:24 +0000 Subject: [PATCH] Append git.hash and git.branch to RELEASE file stored in tarball. When compiling, if not in git repo use git.branch and git.hash from RELEASE file. --- build.gradle | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index bdfcfdf..a071fe8 100644 --- a/build.gradle +++ b/build.gradle @@ -115,7 +115,7 @@ ext { // Import releaseProps from the RELEASE file // or a file specified via JALVIEW_RELEASE_FILE if defined // Expect jalview.version and target release branch in jalview.release - def releaseProps = new Properties(); + releaseProps = new Properties(); def releasePropFile = findProperty("JALVIEW_RELEASE_FILE"); def defaultReleasePropFile = "${jalviewDirAbsolutePath}/RELEASE"; try { @@ -392,7 +392,9 @@ ext { gitHash = details.gitHash gitBranch = details.branchName } catch(org.gradle.api.internal.plugins.PluginApplicationException e) { - println("Not in a git repository") + println("Not in a git repository. Using git values from RELEASE properties file.") + gitHash = releaseProps.getProperty("git.hash") + gitBranch = releaseProps.getProperty("git.branch") } catch(java.lang.RuntimeException e1) { throw new GradleException("Error with git-version plugin. Directory '.git' exists but versionDetails() cannot be found.") } @@ -2014,6 +2016,22 @@ spotless { } } +task createSourceReleaseProperties(type: WriteProperties) { + group = "distribution" + description = "Create the source RELEASE properties file" + + def sourceTarBuildDir = "${buildDir}/sourceTar" + def sourceReleasePropertiesFile = "${sourceTarBuildDir}/RELEASE" + outputFile (sourceReleasePropertiesFile) + + doFirst { + releaseProps.each{ key, val -> property key, val } + property "git.branch", gitBranch + property "git.hash", gitHash + } + + outputs.file(outputFile) +} task sourceDist(type: Tar) { group "distribution" @@ -2021,6 +2039,8 @@ task sourceDist(type: Tar) { dependsOn createBuildProperties dependsOn convertMdFiles + dependsOn eclipseAllPreferences + dependsOn createSourceReleaseProperties def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_") def outputFileName = "${project.name}_${VERSION_UNDERSCORES}.tar.gz" @@ -2054,7 +2074,6 @@ task sourceDist(type: Tar) { "FEATURETODO", "LICENSE", "**/README", - "RELEASE", "THIRDPARTYLIBS", "TESTNG", "build.gradle", @@ -2069,7 +2088,9 @@ task sourceDist(type: Tar) { "**/*.sh", ] def INCLUDE_FILES=[ - ".settings/org.eclipse.jdt.core.jalview.prefs", + ".classpath", + ".settings/org.eclipse.buildship.core.prefs", + ".settings/org.eclipse.jdt.core.prefs" ] from(jalviewDir) { @@ -2116,6 +2137,10 @@ task sourceDist(type: Tar) { }) } + def sourceTarBuildDir = "${buildDir}/sourceTar" + from(sourceTarBuildDir) { + // this includes the appended RELEASE properties file + } } -- 1.7.10.2