diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java b/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java index 1f995f140c..a160811227 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java @@ -18,7 +18,6 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionKeyContext; import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.ExecException; import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.util.Fingerprint; @@ -113,6 +112,16 @@ public final class WriteAdbArgsAction extends AbstractFileWriteAction { expansion = {"--start=DEBUG"} ) public Void debugApp; + + public ImmutableList<String> getAdbArgs() { + ImmutableList.Builder<String> allAdbArgs = ImmutableList.builder(); + allAdbArgs.addAll(adbArgs); + if (!device.isEmpty()) { + allAdbArgs.add("-s"); + allAdbArgs.add(device); + } + return allAdbArgs.build(); + } } public WriteAdbArgsAction(ActionOwner owner, Artifact outputFile) { @@ -120,16 +129,14 @@ public final class WriteAdbArgsAction extends AbstractFileWriteAction { } @Override - public DeterministicWriter newDeterministicWriter(ActionExecutionContext ctx) - throws IOException, InterruptedException, ExecException { + public DeterministicWriter newDeterministicWriter(ActionExecutionContext ctx) { Options options = ctx.getOptions().getOptions(Options.class); - final List<String> args = options.adbArgs; final String adb = options.adb; - final String device = options.device; final String incrementalInstallVerbosity = options.incrementalInstallVerbosity; final StartType start = options.start; final String userHomeDirectory = ctx.getContext(WriteAdbArgsActionContext.class).getUserHomeDirectory(); + ImmutableList<String> adbArgs = options.getAdbArgs(); return new DeterministicWriter() { @Override @@ -140,12 +147,7 @@ public final class WriteAdbArgsAction extends AbstractFileWriteAction { ps.printf("--adb=%s\n", adb); } - if (!device.isEmpty()) { - args.add("-s"); - args.add(device); - } - - for (String arg : args) { + for (String arg : adbArgs) { ps.printf("--extra_adb_arg=%s\n", arg); } |