You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/07/04 07:11:41 UTC

[maven-javadoc-plugin] branch master updated: [MJAVADOC-719] - Update Maven Archiver to 3.6.0

This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 497f80f4 [MJAVADOC-719] - Update Maven Archiver to 3.6.0
497f80f4 is described below

commit 497f80f40308ba40a30b129f44f5d537fccbb322
Author: Jorge Solórzano <jo...@gmail.com>
AuthorDate: Tue Jun 28 17:41:18 2022 +0200

    [MJAVADOC-719] - Update Maven Archiver to 3.6.0
    
    Signed-off-by: Jorge Solórzano <jo...@gmail.com>
---
 pom.xml                                            | 14 ++-----------
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 24 +++++++++++++---------
 .../apache/maven/plugins/javadoc/JavadocJar.java   |  2 +-
 3 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9485119d..cc763f61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -212,7 +212,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-archiver</artifactId>
-      <version>3.5.2</version>
+      <version>3.6.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
@@ -285,20 +285,10 @@ under the License.
       <artifactId>plexus-java</artifactId>
       <version>${plexus-java.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-archiver</artifactId>
-      <version>4.2.7</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-io</artifactId>
-      <version>3.2.0</version>
-    </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>3.3.0</version>
+      <version>3.4.2</version>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
index a26d19cd..71c78919 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -119,12 +119,12 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
+import java.time.LocalDate;
+import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Calendar;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -3037,14 +3037,12 @@ public abstract class AbstractJavadocMojo
     {
         final String inceptionYear = project.getInceptionYear();
 
-        // get Reproducible Builds outputTimestamp value
-        final Calendar currentYearCal = Calendar.getInstance();
-        final Date reproducibleDate = new MavenArchiver().parseOutputTimestamp( outputTimestamp );
-        if ( reproducibleDate != null )
-        {
-            currentYearCal.setTime( reproducibleDate );
-        }
-        final String currentYear = String.valueOf( currentYearCal.get( Calendar.YEAR ) );
+        // get Reproducible Builds outputTimestamp date value or the current local date.
+        final LocalDate localDate = MavenArchiver.parseBuildOutputTimestamp( outputTimestamp )
+            .map( instant -> instant.atZone( ZoneOffset.UTC ).toLocalDate() )
+            .orElseGet( LocalDate::now );
+
+        final String currentYear = Integer.toString( localDate.getYear() );
 
         String theBottom = StringUtils.replace( this.bottom, "{currentYear}", currentYear );
 
@@ -5656,6 +5654,12 @@ public abstract class AbstractJavadocMojo
 
         addArgIf( arguments, nosince, "-nosince" );
 
+        if ( MavenArchiver.parseBuildOutputTimestamp( outputTimestamp ).isPresent() )
+        {
+            // Override the notimestamp option if a Reproducible Build is requested.
+            notimestamp = true;
+        }
+
         addArgIf( arguments, notimestamp, "-notimestamp", SINCE_JAVADOC_1_5 );
 
         addArgIf( arguments, notree, "-notree" );
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocJar.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocJar.java
index d2c764ba..2a20bb8c 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocJar.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocJar.java
@@ -270,7 +270,7 @@ public class JavadocJar
         archiver.setOutputFile( javadocJar );
 
         // configure for Reproducible Builds based on outputTimestamp value
-        archiver.configureReproducible( outputTimestamp );
+        archiver.configureReproducibleBuild( outputTimestamp );
 
         if ( !javadocFiles.exists() )
         {