|
22 | 22 | import java.io.InputStream;
|
23 | 23 | import java.io.OutputStream;
|
24 | 24 | import java.io.OutputStreamWriter;
|
25 |
| -import java.time.OffsetDateTime; |
26 |
| -import java.time.ZoneOffset; |
| 25 | +import java.util.Calendar; |
27 | 26 | import java.util.Collection;
|
| 27 | +import java.util.GregorianCalendar; |
28 | 28 | import java.util.LinkedHashSet;
|
29 | 29 | import java.util.List;
|
30 | 30 | import java.util.Map;
|
|
63 | 63 | *
|
64 | 64 | * @author Andy Wilkinson
|
65 | 65 | * @author Phillip Webb
|
| 66 | + * @author Scott Frederick |
66 | 67 | */
|
67 | 68 | class BootZipCopyAction implements CopyAction {
|
68 | 69 |
|
69 |
| - static final long CONSTANT_TIME_FOR_ZIP_ENTRIES = OffsetDateTime.of(1980, 2, 1, 0, 0, 0, 0, ZoneOffset.UTC) |
70 |
| - .toInstant().toEpochMilli(); |
| 70 | + static final long CONSTANT_TIME_FOR_ZIP_ENTRIES = new GregorianCalendar(1980, Calendar.FEBRUARY, 1, 0, 0, 0) |
| 71 | + .getTimeInMillis(); |
71 | 72 |
|
72 | 73 | private final File output;
|
73 | 74 |
|
@@ -261,7 +262,7 @@ private void writeParentDirectoriesIfNecessary(String name, long time) throws IO
|
261 | 262 | if (parentDirectory != null && this.writtenDirectories.add(parentDirectory)) {
|
262 | 263 | writeParentDirectoriesIfNecessary(parentDirectory, time);
|
263 | 264 | ZipArchiveEntry entry = new ZipArchiveEntry(parentDirectory + '/');
|
264 |
| - entry.setUnixMode(UnixStat.DIR_FLAG); |
| 265 | + entry.setUnixMode(UnixStat.DIR_FLAG | UnixStat.DEFAULT_DIR_PERM); |
265 | 266 | entry.setTime(time);
|
266 | 267 | this.out.putArchiveEntry(entry);
|
267 | 268 | this.out.closeArchiveEntry();
|
@@ -372,7 +373,7 @@ private void writeEntry(String name, ZipEntryWriter entryWriter, boolean addToLa
|
372 | 373 | ZipEntryCustomizer entryCustomizer) throws IOException {
|
373 | 374 | writeParentDirectoriesIfNecessary(name, CONSTANT_TIME_FOR_ZIP_ENTRIES);
|
374 | 375 | ZipArchiveEntry entry = new ZipArchiveEntry(name);
|
375 |
| - entry.setUnixMode(UnixStat.FILE_FLAG); |
| 376 | + entry.setUnixMode(UnixStat.FILE_FLAG | UnixStat.DEFAULT_FILE_PERM); |
376 | 377 | entry.setTime(CONSTANT_TIME_FOR_ZIP_ENTRIES);
|
377 | 378 | entryCustomizer.customize(entry);
|
378 | 379 | this.out.putArchiveEntry(entry);
|
|
0 commit comments