diff options
author | 2018-04-24 15:25:37 -0700 | |
---|---|---|
committer | 2018-04-24 15:27:28 -0700 | |
commit | 9b389d07d7355f76a0552b36b13a25491e95928b (patch) | |
tree | 6d8d9b53190189c2b5ce44807cd6d3ac1bd6e802 /src/main/java/com/google/devtools/build/lib/rules/android | |
parent | 11571bd547a8967d08eaa1f98383e3fa0482af84 (diff) |
Automated rollback of commit 77777d1a769e938839b82c65ff320e09b1e7a715.
This CL includes the rollback + better fix for issue #4922.
https://github.com/bazelbuild/bazel/issues/4922
*** Reason for rollback ***
Breaks mobile-install v2 adb port forwarding, b/78432638
*** Original change description ***
Fix crash from mobile-install with --device but no --adb_args.
Fixes #4922.
RELNOTES: None
PiperOrigin-RevId: 194155557
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java | 25 |
1 files changed, 12 insertions, 13 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 a160811227..b056d08f77 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,6 +18,7 @@ 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; @@ -29,6 +30,7 @@ import com.google.devtools.common.options.OptionsBase; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; +import java.util.ArrayList; import java.util.List; /** @@ -112,16 +114,6 @@ 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) { @@ -129,14 +121,16 @@ public final class WriteAdbArgsAction extends AbstractFileWriteAction { } @Override - public DeterministicWriter newDeterministicWriter(ActionExecutionContext ctx) { + public DeterministicWriter newDeterministicWriter(ActionExecutionContext ctx) + throws IOException, InterruptedException, ExecException { Options options = ctx.getOptions().getOptions(Options.class); + final List<String> args = new ArrayList<>(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 @@ -147,7 +141,12 @@ public final class WriteAdbArgsAction extends AbstractFileWriteAction { ps.printf("--adb=%s\n", adb); } - for (String arg : adbArgs) { + if (!device.isEmpty()) { + args.add("-s"); + args.add(device); + } + + for (String arg : args) { ps.printf("--extra_adb_arg=%s\n", arg); } |