41 lines
2.0 KiB
Diff
41 lines
2.0 KiB
Diff
diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
|
|
index b227ef5fb8..ac186f4e52 100644
|
|
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
|
|
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
|
|
@@ -256,6 +256,9 @@ public class Head {
|
|
*/
|
|
public Content toContent() {
|
|
Date now = showTimestamp ? calendar.getTime() : null;
|
|
+ if (now != null && System.getenv("SOURCE_DATE_EPOCH") != null) {
|
|
+ now = new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH")));
|
|
+ }
|
|
|
|
HtmlTree tree = new HtmlTree(HtmlTag.HEAD);
|
|
if (showGeneratedBy) {
|
|
@@ -269,6 +272,9 @@ public class Head {
|
|
|
|
if (showMetaCreated) {
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
+ if (System.getenv("SOURCE_DATE_EPOCH") != null) {
|
|
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
|
|
+ }
|
|
tree.add(HtmlTree.META(
|
|
(htmlVersion == HtmlVersion.HTML5) ? "dc.created" : "date",
|
|
dateFormat.format(now)));
|
|
@@ -298,7 +304,14 @@ public class Head {
|
|
private Comment getGeneratedBy(boolean timestamp, Date now) {
|
|
String text = "Generated by javadoc"; // marker string, deliberately not localized
|
|
if (timestamp) {
|
|
- text += " ("+ docletVersion + ") on " + now;
|
|
+ text += " ("+ docletVersion + ") on ";
|
|
+ if (System.getenv("SOURCE_DATE_EPOCH") == null) {
|
|
+ text += now;
|
|
+ } else {
|
|
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
|
|
+ fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
|
|
+ text += fmt.format(now);
|
|
+ }
|
|
}
|
|
return new Comment(text);
|
|
}
|