aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2018-02-26 08:58:55 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-26 09:01:59 -0800
commit5a330002c57adaf8a6d4180618132c75bfcbb7fd (patch)
tree33c8116d50c70619a2634a16f70908417f0193bb /src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java
parentd4db94dd1d7ada64f4bbd1f0fc6f39f3ec0c6870 (diff)
Change android_library .aar timestamp and open-source AarGeneratorActionTest.
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java b/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java
index 20e9e6c9d7..88618ed835 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java
@@ -39,6 +39,8 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
@@ -65,7 +67,11 @@ import java.util.zip.ZipOutputStream;
* </pre>
*/
public class AarGeneratorAction {
- private static final Long EPOCH = 0L;
+ public static final long DEFAULT_TIMESTAMP =
+ LocalDateTime.of(2010, 1, 1, 0, 0, 0)
+ .atZone(ZoneId.systemDefault())
+ .toInstant()
+ .toEpochMilli();
private static final Logger logger = Logger.getLogger(AarGeneratorAction.class.getName());
@@ -213,13 +219,13 @@ public class AarGeneratorAction {
try (final ZipOutputStream zipOut =
new ZipOutputStream(new BufferedOutputStream(Files.newOutputStream(aar)))) {
ZipEntry manifestEntry = new ZipEntry("AndroidManifest.xml");
- manifestEntry.setTime(EPOCH);
+ manifestEntry.setTime(DEFAULT_TIMESTAMP);
zipOut.putNextEntry(manifestEntry);
zipOut.write(Files.readAllBytes(manifest));
zipOut.closeEntry();
ZipEntry classJar = new ZipEntry("classes.jar");
- classJar.setTime(EPOCH);
+ classJar.setTime(DEFAULT_TIMESTAMP);
zipOut.putNextEntry(classJar);
zipOut.write(Files.readAllBytes(classes));
zipOut.closeEntry();
@@ -229,7 +235,7 @@ public class AarGeneratorAction {
resWriter.writeEntries();
ZipEntry r = new ZipEntry("R.txt");
- r.setTime(EPOCH);
+ r.setTime(DEFAULT_TIMESTAMP);
zipOut.putNextEntry(r);
zipOut.write(Files.readAllBytes(rtxt));
zipOut.closeEntry();
@@ -241,7 +247,7 @@ public class AarGeneratorAction {
assetWriter.writeEntries();
}
}
- aar.toFile().setLastModified(EPOCH);
+ aar.toFile().setLastModified(DEFAULT_TIMESTAMP);
}
private static class ZipDirectoryWriter extends SimpleFileVisitor<Path> {
@@ -281,7 +287,7 @@ public class AarGeneratorAction {
private void writeFileEntry(Path file) throws IOException {
ZipEntry entry = new ZipEntry(new File(dirName, root.relativize(file).toString()).toString());
- entry.setTime(EPOCH);
+ entry.setTime(DEFAULT_TIMESTAMP);
zipOut.putNextEntry(entry);
zipOut.write(Files.readAllBytes(file));
zipOut.closeEntry();
@@ -290,7 +296,7 @@ public class AarGeneratorAction {
private void writeDirectoryEntry(Path dir) throws IOException {
ZipEntry entry =
new ZipEntry(new File(dirName, root.relativize(dir).toString()).toString() + "/");
- entry.setTime(EPOCH);
+ entry.setTime(DEFAULT_TIMESTAMP);
zipOut.putNextEntry(entry);
zipOut.closeEntry();
}