aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2017-09-22 02:02:35 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-09-22 12:16:02 +0200
commit54c86b4c6f29f4b0d52e1db702d30c10f3ac8b56 (patch)
tree08141e8298a2eadae818e7d8cce1198280e3c1be /src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java
parent87c70eef9cae2c2bb652ecc0baa16adb90a21eab (diff)
Action for resource shrinking with aapt2
Introduces the ResourcesZip class to more easily handle processing merged resources. RELNOTES: None PiperOrigin-RevId: 169622715
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java b/src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java
index ad645a6fdd..f4b70fc930 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AaptCommandBuilder.java
@@ -27,6 +27,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collection;
import java.util.List;
+import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
@@ -164,6 +165,13 @@ public class AaptCommandBuilder {
return flags.build();
}
+ public AaptCommandBuilder add(String flag, Optional<Path> optionalPath) {
+ Preconditions.checkNotNull(flag);
+ Preconditions.checkNotNull(optionalPath);
+ optionalPath.map(p -> add(flag, p));
+ return this;
+ }
+
/** Wrapper for potentially adding flags to an AaptCommandBuilder based on a conditional. */
public interface ConditionalAaptCommandBuilder {
/**
@@ -190,6 +198,14 @@ public class AaptCommandBuilder {
AaptCommandBuilder thenAdd(String flag, @Nullable Path value);
/**
+ * Adds a single flag and associated path value to the builder if the value is non-null and the
+ * condition was true.
+ *
+ * @see AaptCommandBuilder#add(String,Optional)
+ */
+ AaptCommandBuilder thenAdd(String flag, Optional<Path> value);
+
+ /**
* Adds the values in the collection to the builder, each preceded by the given flag, if the
* collection was non-empty and the condition was true.
*
@@ -224,6 +240,11 @@ public class AaptCommandBuilder {
}
@Override
+ public AaptCommandBuilder thenAdd(String flag, @Nullable Optional<Path> value) {
+ return originalCommandBuilder.add(flag, value);
+ }
+
+ @Override
public AaptCommandBuilder thenAddRepeated(String flag, Collection<String> values) {
return originalCommandBuilder.addRepeated(flag, values);
}
@@ -256,6 +277,13 @@ public class AaptCommandBuilder {
}
@Override
+ public AaptCommandBuilder thenAdd(String flag, Optional<Path> value) {
+ Preconditions.checkNotNull(flag);
+ Preconditions.checkNotNull(value);
+ return originalCommandBuilder;
+ }
+
+ @Override
public AaptCommandBuilder thenAddRepeated(String flag, Collection<String> values) {
Preconditions.checkNotNull(flag);
Preconditions.checkNotNull(values);