--- groovy-core-GROOVY_1_8_9/gradle/assemble.gradle 2023-09-14 17:55:59.522896097 +0200 +++ groovy-core-GROOVY_1_8_9/gradle/assemble.gradle 2023-09-14 18:31:52.621162384 +0200 @@ -45,6 +45,10 @@ binaryJarsMetaInf = { Date buildTime = new Date() + def sourceDateEpoch = System.getenv("SOURCE_DATE_EPOCH") + if (sourceDateEpoch != null) { + buildTime = new Date(1000 * Long.parseLong(sourceDateEpoch)) + } from "$projectDir/LICENSE.txt" from("$projectDir/src/main/META-INF/groovy-release-info.properties") { filter {String line -> --- groovy-core-GROOVY_1_8_9/src/examples/transforms/global/CompiledAtASTTransformation.groovy 2023-09-14 17:55:59.532896167 +0200 +++ groovy-core-GROOVY_1_8_9/src/examples/transforms/global/CompiledAtASTTransformation.groovy 2023-09-14 18:18:30.645595375 +0200 @@ -16,7 +16,7 @@ @GroovyASTTransformation(phase=CompilePhase.CONVERSION) public class CompiledAtASTTransformation implements ASTTransformation { - private final static compileTime = new Date().toString() + private final static compileTime = System.getenv("SOURCE_DATE_EPOCH") != null ? new new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))).toString() : new Date().toString() public void visit(ASTNode[] astNodes, SourceUnit sourceUnit) { --- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html 2023-09-14 17:55:59.569563087 +0200 +++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html 2023-09-14 18:27:30.922678287 +0200 @@ -62,9 +62,9 @@ %> - + ${title} - + --- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html 2023-09-14 17:55:59.569563087 +0200 +++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html 2023-09-14 18:29:48.580300951 +0200 @@ -38,9 +38,9 @@ %> - + ${title} - + --- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html 2023-09-14 17:55:59.569563087 +0200 +++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html 2023-09-14 18:30:08.917108852 +0200 @@ -3,7 +3,7 @@ <% def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") %> - + ${title} --- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html 2023-09-14 17:55:59.569563087 +0200 +++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html 2023-09-14 18:29:08.500022604 +0200 @@ -16,9 +16,9 @@ %> - + ${title} - + --- groovy-core-GROOVY_1_8_9/subprojects/groovy-jmx/src/main/groovy/groovy/jmx/builder/JmxTimerFactory.groovy 2023-09-14 17:55:59.506229315 +0200 +++ groovy-core-GROOVY_1_8_9/subprojects/groovy-jmx/src/main/groovy/groovy/jmx/builder/JmxTimerFactory.groovy 2023-09-14 18:08:37.814820693 +0200 @@ -93,7 +93,13 @@ } private def getNormalizedDate(date) { - if (!date) return new Date() + if (!date) { + def sourceDateEpoch = System.getenv("SOURCE_DATE_EPOCH") + if (sourceDateEpoch != null) { + return new Date(1000 * Long.parseLong(sourceDateEpoch)) + } + return new Date() + } if (date instanceof Date) { return date } @@ -102,8 +108,12 @@ case null: case "now": default: + if (sourceDateEpoch != null) { + startDate = new Date(1000 * Long.parseLong(sourceDateEpoch)) + } else { startDate = new Date() } + } return startDate }