File groovy18-timestamp.patch of Package groovy18

--- 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 @@
 %>
 <html>
 <head>
-<!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} -->
+<!-- Generated by groovydoc (${GroovySystem.version}) -->
 <title>${title}</title>
-<meta name="date" content="${new Date().format('yyyy-MM-dd')}">
 <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}">
 <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon">
 <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon">
--- 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 21:14:47.296829350 +0200
@@ -38,9 +38,8 @@
 %>
 <html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}">
-<!-- Generated by groovydoc (${GroovySystem.version}) on <% new Date() %> -->
+<!-- Generated by groovydoc (${GroovySystem.version}) -->
 <title>${title}</title>
-<meta name="date" content="${new Date().format('yyyy-MM-dd')}">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
 <link href="groovy.ico" type="image/x-icon" rel="icon">
--- 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 21:14:32.966733748 +0200
@@ -3,7 +3,7 @@
 <% def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") %>
 <html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}">
-<!-- Generated by groovydoc (${GroovySystem.version}) on <% new Date() %> -->
+<!-- Generated by groovydoc (${GroovySystem.version}) -->
 <title>${title}</title>
 <link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
 <link href="groovy.ico" type="image/x-icon" rel="icon">
--- 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 21:15:03.270269230 +0200
@@ -16,9 +16,8 @@
 %>
 <html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}">
-<!-- Generated by groovydoc (${GroovySystem.version}) on <% new Date() %> -->
+<!-- Generated by groovydoc (${GroovySystem.version}) -->
 <title>${title}</title>
-<meta name="date" content="${new Date().format('yyyy-MM-dd')}">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
 <link href="groovy.ico" type="image/x-icon" rel="icon">
--- 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 21:08:56.304430856 +0200
@@ -93,7 +93,13 @@
     }
 
     private def getNormalizedDate(date) {
-        if (!date) return new Date()
+        def sourceDateEpoch = System.getenv("SOURCE_DATE_EPOCH")
+        if (!date) {
+            if (sourceDateEpoch != null) {
+                return new Date(1000 * Long.parseLong(sourceDateEpoch))
+            }
+            return new Date()
+        }
         if (date instanceof Date) {
             return date
         }
@@ -103,6 +109,9 @@
             case "now":
             default:
                 startDate = new Date()
+                if (sourceDateEpoch != null) {
+                    startDate = new Date(1000 * Long.parseLong(sourceDateEpoch))
+                }
         }
         return startDate
     }
openSUSE Build Service is sponsored by