aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/Converters.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2015-12-03 15:17:55 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-12-03 18:37:59 +0000
commit5e34a3d4ea30525971e320ce283ba8cd67c74e3c (patch)
tree29c755c006c6b5f1fb82f131a72c44e406a18c5a /src/tools/android/java/com/google/devtools/build/android/Converters.java
parent84fb4612dd4203425b59809ea5e3302ff55723fa (diff)
ASwB aspect: parse java packages during execution
-- MOS_MIGRATED_REVID=109305952
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/Converters.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/Converters.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/Converters.java b/src/tools/android/java/com/google/devtools/build/android/Converters.java
index 8a10c52285..f69aac162d 100644
--- a/src/tools/android/java/com/google/devtools/build/android/Converters.java
+++ b/src/tools/android/java/com/google/devtools/build/android/Converters.java
@@ -26,6 +26,8 @@ import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -154,4 +156,30 @@ public final class Converters {
super(VariantConfiguration.Type.class, "variant configuration type");
}
}
+
+ /**
+ * Validating converter for a list of Paths.
+ * A Path is considered valid if it resolves to a file.
+ */
+ public static class PathListConverter implements Converter<List<Path>> {
+
+ final PathConverter baseConverter = new PathConverter();
+
+ @Override
+ public List<Path> convert(String input) throws OptionsParsingException {
+ List<Path> list = new ArrayList<>();
+ for (String piece : input.split(":")) {
+ if (!piece.isEmpty()) {
+ list.add(baseConverter.convert(piece));
+ }
+ }
+ return Collections.unmodifiableList(list);
+ }
+
+ @Override
+ public String getTypeDescription() {
+ return "a colon-separated list of paths";
+ }
+ }
+
}