--- 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 21:03:58.849056055 +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 21:31:24.853487358 +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 Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) : new Date()).toString() public void visit(ASTNode[] astNodes, SourceUnit sourceUnit) { --- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/classgen/Verifier.java 2023-09-15 00:14:26.176051747 +0200 +++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/classgen/Verifier.java 2023-09-15 01:32:16.059801789 +0200 @@ -432,13 +432,13 @@ ClassHelper.long_TYPE, //"", node, - new ConstantExpression(System.currentTimeMillis())); + new ConstantExpression((System.getenv("SOURCE_DATE_EPOCH") != null ? new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) : new Date()).getTime())); // alternatively, FieldNode timeTagField = SourceUnit.createFieldNode("public static final long __timeStamp = " + System.currentTimeMillis() + "L"); timeTagField.setSynthetic(true); node.addField(timeTagField); timeTagField = new FieldNode( - Verifier.__TIMESTAMP__ + String.valueOf(System.currentTimeMillis()), + Verifier.__TIMESTAMP__ + String.valueOf((System.getenv("SOURCE_DATE_EPOCH") != null ? new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) : new Date()).getTime()), ACC_PUBLIC | ACC_STATIC | ACC_SYNTHETIC, ClassHelper.long_TYPE, //"", --- 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 21:15:34.220475678 +0200 @@ -62,9 +62,8 @@ %>
- +