diff options
author | Andrew Pellegrini <apell@google.com> | 2015-10-02 15:03:38 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2015-10-02 18:02:26 +0000 |
commit | 2594c9e9fa50d476bfa8f3c7922c789e80971899 (patch) | |
tree | b301f2d50cecb005d00fd76e93072fba99313e8a /src | |
parent | 28099deacca7ebb2a3aeae353489b749581e779b (diff) |
Trim temporary directory root from entry paths when creating resources srcjar to match standard jar format.
--
MOS_MIGRATED_REVID=104498213
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java | 17 |
1 files changed, 10 insertions, 7 deletions
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 031d8ea1c7..d5f1e1a3e8 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 @@ -58,7 +58,7 @@ public class AndroidResourceProcessor { public AndroidResourceProcessor(StdLogger stdLogger) { this.stdLogger = stdLogger; } - + /** * Copies the R.txt to the expected place. */ @@ -85,7 +85,8 @@ public class AndroidResourceProcessor { try { Files.createDirectories(srcJar.getParent()); try (final ZipOutputStream zip = new ZipOutputStream(Files.newOutputStream(srcJar))) { - Files.walkFileTree(generatedSourcesRoot, new SymbolFileSrcJarBuildingVisitor(zip)); + Files.walkFileTree(generatedSourcesRoot, + new SymbolFileSrcJarBuildingVisitor(zip, generatedSourcesRoot)); } } catch (IOException e) { Throwables.propagate(e); @@ -93,7 +94,7 @@ public class AndroidResourceProcessor { } /** - * Processes resources for generated sources, configs and packaging resources. + * Processes resources for generated sources, configs and packaging resources. */ public void processResources( AndroidBuilder builder, @@ -196,7 +197,7 @@ public class AndroidResourceProcessor { set.loadFromFiles(stdLogger); merger.addDataSet(set); } - + AssetMerger assetMerger = new AssetMerger(); for (AssetSet set : assetSets) { set.loadFromFiles(stdLogger); @@ -252,7 +253,7 @@ public class AndroidResourceProcessor { } return Files.createDirectories(out).toString(); } - + /** * A FileVisitor that will add all R.java files to be stored in a zip archive. */ @@ -261,16 +262,18 @@ public class AndroidResourceProcessor { // The earliest date representable in a zip file, 1-1-1980. private static final long ZIP_EPOCH = 315561600000L; private final ZipOutputStream zip; + private final Path root; - private SymbolFileSrcJarBuildingVisitor(ZipOutputStream zip) { + private SymbolFileSrcJarBuildingVisitor(ZipOutputStream zip, Path root) { this.zip = zip; + this.root = root; } @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { if (file.getFileName().endsWith("R.java")) { byte[] content = Files.readAllBytes(file); - ZipEntry entry = new ZipEntry(file.toString()); + ZipEntry entry = new ZipEntry(root.relativize(file).toString()); entry.setMethod(ZipEntry.STORED); entry.setTime(ZIP_EPOCH); |