Eliminate unnecessary use of GregorianCalendar (#344)

Switch from `java.util.GregorianCalendar` to `java.time.LocalDateTime`
This commit is contained in:
translatenix
2024-03-21 08:50:14 -07:00
committed by GitHub
parent 1a16619522
commit 60bcd56672
@@ -26,9 +26,9 @@ import java.nio.file.Path;
import java.security.DigestOutputStream; import java.security.DigestOutputStream;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.time.LocalDateTime;
import java.time.Month;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -84,11 +84,12 @@ public class ProjectPackager {
* Modification time value for all zip entries in a package, to ensure that archives are * Modification time value for all zip entries in a package, to ensure that archives are
* reproducible. * reproducible.
* *
* <p>Date is 1980 February 1st CET (value taken from {@code * <p>Date is 1980 February 1st (value taken from {@code
* org.gradle.api.internal.file.archive.ZipCopyAction}). * org.gradle.api.internal.file.archive.ZipCopyAction}). Note that this date does not contain time
* zone information.
*/ */
private static final long ZIP_ENTRY_MTIME = private static final LocalDateTime ZIP_ENTRY_MTIME =
new GregorianCalendar(1980, Calendar.FEBRUARY, 1, 0, 0, 0).getTimeInMillis(); LocalDateTime.of(1980, Month.FEBRUARY, 1, 0, 0);
private final EconomicMap<PackageUri, PackageResult> packageResults = EconomicMap.create(); private final EconomicMap<PackageUri, PackageResult> packageResults = EconomicMap.create();
@@ -296,7 +297,7 @@ public class ProjectPackager {
for (var file : files) { for (var file : files) {
var relativePath = project.getProjectDir().relativize(file); var relativePath = project.getProjectDir().relativize(file);
var zipEntry = new ZipEntry(relativePath.toString()); var zipEntry = new ZipEntry(relativePath.toString());
zipEntry.setTime(ZIP_ENTRY_MTIME); zipEntry.setTimeLocal(ZIP_ENTRY_MTIME);
zos.putNextEntry(zipEntry); zos.putNextEntry(zipEntry);
Files.copy(file, zos); Files.copy(file, zos);
zos.closeEntry(); zos.closeEntry();