File: reproducible-footer.patch

package info (click to toggle)
maven-javadoc-plugin 3.4.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 10,176 kB
  • sloc: java: 16,707; xml: 9,530; jsp: 5; makefile: 2; sh: 1
file content (28 lines) | stat: -rw-r--r-- 1,242 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Description: Use the SOURCE_DATE_EPOCH variable to set the current year displayed in the javadoc footer
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -3044,7 +3044,21 @@
             .map( instant -> instant.atZone( ZoneOffset.UTC ).toLocalDate() )
             .orElseGet( LocalDate::now );
 
-        final String currentYear = Integer.toString( localDate.getYear() );
+        String currentYear = Integer.toString( localDate.getYear() );
+        if ( System.getenv("SOURCE_DATE_EPOCH") != null )
+        {
+            try
+            {
+                java.util.Calendar calendar = java.util.Calendar.getInstance( java.util.TimeZone.getTimeZone("UTC") );
+                calendar.setTimeInMillis(Long.parseLong( System.getenv("SOURCE_DATE_EPOCH") ) * 1000);
+                currentYear = calendar.get( java.util.Calendar.YEAR ) + "";
+            }
+            catch (Exception e)
+            {
+                e.printStackTrace();
+            }
+        }
+
 
         String theBottom = StringUtils.replace( this.bottom, "{currentYear}", currentYear );