aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/android')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidResourceOutputs.java14
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java23
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java4
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java4
4 files changed, 5 insertions, 40 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceOutputs.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceOutputs.java
index a4e9344c91..b277e010e2 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceOutputs.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceOutputs.java
@@ -30,8 +30,8 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
-import java.nio.file.attribute.FileTime;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Collection;
import java.util.GregorianCalendar;
import java.util.List;
@@ -56,7 +56,7 @@ public class AndroidResourceOutputs {
// The earliest date representable in a zip file, 1-1-1980 (the DOS epoch).
private static final long ZIP_EPOCH =
- new GregorianCalendar(1980, 01, 01, 0, 0).getTimeInMillis();
+ new GregorianCalendar(1980, Calendar.JANUARY, 01, 0, 0).getTimeInMillis();
private final ZipOutputStream zip;
@@ -299,8 +299,6 @@ public class AndroidResourceOutputs {
try {
Files.createDirectories(manifestOut.getParent());
Files.copy(provider.getManifest(), manifestOut);
- // Set to the epoch for caching purposes.
- Files.setLastModifiedTime(manifestOut, FileTime.fromMillis(0L));
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -332,8 +330,6 @@ public class AndroidResourceOutputs {
// outputs. This state occurs when there are no resource directories.
Files.createFile(rOutput);
}
- // Set to the epoch for caching purposes.
- Files.setLastModifiedTime(rOutput, FileTime.fromMillis(0L));
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -349,8 +345,6 @@ public class AndroidResourceOutputs {
visitor.writeEntries();
visitor.writeManifestContent();
}
- // Set to the epoch for caching purposes.
- Files.setLastModifiedTime(classJar, FileTime.fromMillis(0L));
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -366,8 +360,6 @@ public class AndroidResourceOutputs {
Files.walkFileTree(root, visitor);
visitor.writeEntries();
}
- // Set to the epoch for caching purposes.
- Files.setLastModifiedTime(archive, FileTime.fromMillis(0L));
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -383,8 +375,6 @@ public class AndroidResourceOutputs {
Files.walkFileTree(generatedSourcesRoot, visitor);
visitor.writeEntries();
}
- // Set to the epoch for caching purposes.
- Files.setLastModifiedTime(srcJar, FileTime.fromMillis(0L));
} catch (IOException e) {
throw new RuntimeException(e);
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
index 2ff8330046..a72d1d243a 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
@@ -57,7 +57,6 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.nio.file.attribute.FileTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -343,24 +342,11 @@ public class AndroidResourceProcessor {
dependencyData, customPackageForR, androidManifest, sourceOut);
}
// Reset the output date stamps.
- if (proguardOut != null) {
- Files.setLastModifiedTime(proguardOut, FileTime.fromMillis(0L));
- }
- if (mainDexProguardOut != null) {
- Files.setLastModifiedTime(mainDexProguardOut, FileTime.fromMillis(0L));
- }
if (packageOut != null) {
- Files.setLastModifiedTime(packageOut, FileTime.fromMillis(0L));
if (!splits.isEmpty()) {
- Iterable<Path> splitFilenames = findAndRenameSplitPackages(packageOut, splits);
- for (Path splitFilename : splitFilenames) {
- Files.setLastModifiedTime(splitFilename, FileTime.fromMillis(0L));
- }
+ renameSplitPackages(packageOut, splits);
}
}
- if (publicResourcesOut != null && Files.exists(publicResourcesOut)) {
- Files.setLastModifiedTime(publicResourcesOut, FileTime.fromMillis(0L));
- }
return new MergedAndroidData(resourceDir, assetsDir, androidManifest);
}
@@ -623,8 +609,8 @@ public class AndroidResourceProcessor {
}
}
- /** Finds aapt's split outputs and renames them according to the input flags. */
- private Iterable<Path> findAndRenameSplitPackages(Path packageOut, Iterable<String> splits)
+ /** Renames aapt's split outputs according to the input flags. */
+ private void renameSplitPackages(Path packageOut, Iterable<String> splits)
throws UnrecognizedSplitsException, IOException {
String prefix = packageOut.getFileName().toString() + "_";
// The regex java string literal below is received as [\\{}\[\]*?] by the regex engine,
@@ -641,16 +627,13 @@ public class AndroidResourceProcessor {
}
Map<String, String> outputs =
SplitConfigurationFilter.mapFilenamesToSplitFlags(filenameSuffixes.build(), splits);
- ImmutableList.Builder<Path> outputPaths = new ImmutableList.Builder<>();
for (Map.Entry<String, String> splitMapping : outputs.entrySet()) {
Path resultPath = packageOut.resolveSibling(prefix + splitMapping.getValue());
- outputPaths.add(resultPath);
if (!splitMapping.getKey().equals(splitMapping.getValue())) {
Path sourcePath = packageOut.resolveSibling(prefix + splitMapping.getKey());
Files.move(sourcePath, resultPath);
}
}
- return outputPaths.build();
}
/** A logger that will print messages to a target OutputStream. */
diff --git a/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java b/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java
index a7301f1030..3fb09d2dff 100644
--- a/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java
+++ b/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java
@@ -34,7 +34,6 @@ import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
-import java.nio.file.attribute.FileTime;
import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger;
@@ -217,9 +216,6 @@ public class ManifestMergerAction {
if (!mergedManifest.equals(options.manifestOutput)) {
Files.copy(options.manifest, options.manifestOutput, StandardCopyOption.REPLACE_EXISTING);
}
-
- // Set to the epoch for caching purposes.
- Files.setLastModifiedTime(options.manifestOutput, FileTime.fromMillis(0L));
} catch (AndroidManifestProcessor.ManifestProcessingException e) {
System.exit(1);
} catch (Exception e) {
diff --git a/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java b/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java
index eadc42532f..ceb41e6ff2 100644
--- a/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java
+++ b/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java
@@ -138,8 +138,6 @@ class DexBuilder {
executor.shutdown();
}
}
- // Use input's timestamp for output file so the output file is stable.
- Files.setLastModifiedTime(options.outputZip, Files.getLastModifiedTime(options.inputJar));
}
/**
@@ -225,8 +223,6 @@ class DexBuilder {
new Dexing(context, optionsParser.getOptions(DexingOptions.class)),
dexCache);
}
- // Use input's timestamp for output file so the output file is stable.
- Files.setLastModifiedTime(options.outputZip, Files.getLastModifiedTime(options.inputJar));
}
private static ZipOutputStream createZipOutputStream(Path path) throws IOException {