From ab1f0a9b44bc46d6db1e8e50ad3cc7cf84ea4eb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Sat, 12 Oct 2019 17:11:36 +0200 Subject: [PATCH] rename a few parameters and internal method names --- .../plexus/archiver/AbstractArchiver.java | 16 ++++++++++++---- .../org/codehaus/plexus/archiver/Archiver.java | 15 +++++++++------ .../plexus/archiver/diags/DelgatingArchiver.java | 4 ++-- .../plexus/archiver/diags/NoOpArchiver.java | 2 +- .../plexus/archiver/diags/TrackingArchiver.java | 2 +- .../plexus/archiver/zip/AbstractZipArchiver.java | 4 ++-- 6 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java b/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java index 27b9c2a9f..7b38a937f 100755 --- a/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java @@ -1259,10 +1259,10 @@ public String getOverrideGroupName() } @Override - public void configureReproducible( Date outputTimestamp ) + public void configureReproducible( Date lastModifiedDate ) { // 1. force last modified date - setLastModifiedDate( convertOutputTimestamp( outputTimestamp ) ); + setLastModifiedDate( normalizeLastModifiedDate( lastModifiedDate ) ); // 2. sort filenames in each directory when scanning filesystem setFilenameComparator( new Comparator() @@ -1286,8 +1286,16 @@ public int compare( String s1, String s2 ) setOverrideGroupName( "root" ); } - protected Date convertOutputTimestamp( Date outputTimestamp ) + /** + * Normalize last modified time value to get reproducible archive entries, based on + * archive binary format (tar uses UTC timestamp but zip uses local time then requires + * tweaks to make the value reproducible whatever the current timezone is). + * + * @param lastModifiedDate + * @return + */ + protected Date normalizeLastModifiedDate( Date lastModifiedDate ) { - return outputTimestamp; + return lastModifiedDate; } } diff --git a/src/main/java/org/codehaus/plexus/archiver/Archiver.java b/src/main/java/org/codehaus/plexus/archiver/Archiver.java index 0917eb965..3c9442a36 100644 --- a/src/main/java/org/codehaus/plexus/archiver/Archiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/Archiver.java @@ -423,7 +423,6 @@ ResourceIterator getResources() void setFilenameComparator( Comparator filenameComparator ); /** -<<<<<<< reproducible * @since 4.2.0 */ void setOverrideUid( int uid ); @@ -464,12 +463,16 @@ ResourceIterator getResources() String getOverrideGroupName(); /** - * Configure the archiver to get reproducible archives (see Reproducible Builds). This will configure: + *
    + *
  • reproducible archive entries order,
  • + *
  • defined entries timestamp
  • + *
  • and reproducible entries Unix mode.
  • + *
      * - * @param outputTimestamp the date to use for archive entries last modified time + * @param lastModifiedDate the date to use for archive entries last modified time * @since 4.2.0 */ - void configureReproducible( Date outputTimestamp ); + void configureReproducible( Date lastModifiedDate ); } diff --git a/src/main/java/org/codehaus/plexus/archiver/diags/DelgatingArchiver.java b/src/main/java/org/codehaus/plexus/archiver/diags/DelgatingArchiver.java index 4935986e7..e4b8a807f 100644 --- a/src/main/java/org/codehaus/plexus/archiver/diags/DelgatingArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/diags/DelgatingArchiver.java @@ -400,9 +400,9 @@ public String getOverrideGroupName() } @Override - public void configureReproducible( Date outputTimestamp ) + public void configureReproducible( Date lastModifiedDate ) { - target.configureReproducible( outputTimestamp ); + target.configureReproducible( lastModifiedDate ); } } diff --git a/src/main/java/org/codehaus/plexus/archiver/diags/NoOpArchiver.java b/src/main/java/org/codehaus/plexus/archiver/diags/NoOpArchiver.java index 8c50768e9..2cca73291 100644 --- a/src/main/java/org/codehaus/plexus/archiver/diags/NoOpArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/diags/NoOpArchiver.java @@ -415,7 +415,7 @@ public String getOverrideGroupName() } @Override - public void configureReproducible( Date outputTimestamp ) + public void configureReproducible( Date lastModifiedDate ) { } diff --git a/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java b/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java index d63cabb79..c1fb40c43 100644 --- a/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java @@ -470,7 +470,7 @@ public String getOverrideGroupName() } @Override - public void configureReproducible( Date outputTimestamp ) + public void configureReproducible( Date lastModifiedDate ) { } } diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java index 3521c2259..9d0275e02 100755 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java @@ -836,12 +836,12 @@ protected String getArchiveType() } @Override - protected Date convertOutputTimestamp( Date outputTimestamp ) + protected Date normalizeLastModifiedDate( Date lastModifiedDate ) { // timestamp of zip entries at zip storage level ignores timezone: managed in ZipEntry.setTime, // that turns javaToDosTime: need to revert the operation here to get reproducible // zip entry time - return new Date( dosToJavaTime( outputTimestamp.getTime() ) ); + return new Date( dosToJavaTime( lastModifiedDate.getTime() ) ); } /**