diff --git a/build.gradle b/build.gradle index 2e80ed868df..3a08ec4427f 100644 --- a/build.gradle +++ b/build.gradle @@ -54,6 +54,8 @@ ext { } return m[0][1] as int } + // snapshot build marker used in scripts. + snapshotBuild = version.contains("SNAPSHOT") // Build timestamp. def tstamp = ZonedDateTime.now() diff --git a/gradle/jar-manifest.gradle b/gradle/jar-manifest.gradle index 69b41161e09..9b2cd68b4ab 100644 --- a/gradle/jar-manifest.gradle +++ b/gradle/jar-manifest.gradle @@ -48,7 +48,14 @@ allprojects { // awkward on import and resolves provider properties even though task dependencies // have not been run yet? def gitRev = rootProject.hasProperty("gitRev") ? rootProject.gitRev : "" - "${project.version} ${gitRev} - ${System.properties['user.name']} - ${buildDate} ${buildTime}" + + // For snapshot builds just include the project version and gitRev so that + // JARs don't need to be recompiled just because the manifest has changed. + if (snapshotBuild) { + return "${project.version} ${gitRev} [snapshot build, details omitted]" + } else { + return "${project.version} ${gitRev} - ${System.properties['user.name']} - ${buildDate} ${buildTime}" + } } manifest {