aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2017-08-23 19:01:08 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-24 13:58:47 +0200
commit827d3d2f3350417d33f9f7caf614c7e48aabb071 (patch)
tree46ba2106449aed6414dff72a017e5513eee19a45 /src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java
parenta7271d28ba82a24d235da2cf57045bac042d1bb7 (diff)
Final tweaks and fixes to enable aapt2 for Blaze.
Implemented processing databinding for compile passes RELNOTES: None PiperOrigin-RevId: 166215052
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java44
1 files changed, 31 insertions, 13 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java b/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java
index e13dc613ca..6084f6710f 100644
--- a/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java
+++ b/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceCompiler.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.android.aapt2;
import com.android.builder.core.VariantType;
import com.android.repository.Revision;
+import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
@@ -55,22 +56,38 @@ public class ResourceCompiler {
@Override
public Path call() throws Exception {
- logger.fine(
- new AaptCommandBuilder(aapt2)
- .forBuildToolsVersion(buildToolsVersion)
- .forVariantType(VariantType.LIBRARY)
- .add("compile")
- .add("-v")
- .add("--legacy")
- .add("-o", compiledResourcesOut.toString())
- .add(file.toString())
- .execute("Compiling " + file));
+ logger.fine(
+ new AaptCommandBuilder(aapt2)
+ .forBuildToolsVersion(buildToolsVersion)
+ .forVariantType(VariantType.LIBRARY)
+ .add("compile")
+ .add("-v")
+ .add("--legacy")
+ .add("-o", compiledResourcesOut.toString())
+ .add(file.toString())
+ .execute("Compiling " + file));
+
+
String type = file.getParent().getFileName().toString();
String filename = file.getFileName().toString();
if (type.startsWith("values")) {
- filename = filename.substring(0, filename.indexOf('.')) + ".arsc";
+ filename =
+ (filename.indexOf('.') != -1 ? filename.substring(0, filename.indexOf('.')) : filename)
+ + ".arsc";
}
- return compiledResourcesOut.resolve(type + "_" + filename + ".flat");
+
+ final Path compiledResourcePath =
+ compiledResourcesOut.resolve(type + "_" + filename + ".flat");
+ Preconditions.checkArgument(
+ Files.exists(compiledResourcePath),
+ "%s does not exists after aapt2 ran.",
+ compiledResourcePath);
+ return compiledResourcePath;
+ }
+
+ @Override
+ public String toString() {
+ return "ResourceCompiler.CompileTask(" + file + ")";
}
}
@@ -95,7 +112,8 @@ public class ResourceCompiler {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
- if (!Files.isDirectory(file)) {
+ // Ignore directories and "hidden" files that start with .
+ if (!Files.isDirectory(file) && !file.getFileName().toString().startsWith(".")) {
tasks.add(
executorService.submit(
new CompileTask(