aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-04-24 15:25:37 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-24 15:27:28 -0700
commit9b389d07d7355f76a0552b36b13a25491e95928b (patch)
tree6d8d9b53190189c2b5ce44807cd6d3ac1bd6e802 /src/main/java/com/google/devtools/build/lib/rules/android
parent11571bd547a8967d08eaa1f98383e3fa0482af84 (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.java25
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);
}