aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidDevice.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDevice.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDevice.java
index 8f44097450..76c22c7426 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDevice.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDevice.java
@@ -110,16 +110,20 @@ public class AndroidDevice implements RuleConfiguredTargetFactory {
deviceAttributes.createStubScriptAction(metadata, images, executable, ruleContext);
deviceAttributes.createBootAction(metadata, images);
- Runfiles runfiles =
+ FilesToRunProvider unifiedLauncher = deviceAttributes.getUnifiedLauncher();
+ Runfiles.Builder runfilesBuilder =
new Runfiles.Builder(ruleContext.getWorkspaceName())
.addTransitiveArtifacts(filesToBuild)
.addArtifacts(commonDependencyArtifacts)
- .addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES)
- .merge(
- ruleContext
- .getExecutablePrerequisite("$unified_launcher", Mode.HOST)
- .getRunfilesSupport())
- .build();
+ .addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES);
+ if (unifiedLauncher.getRunfilesSupport() != null) {
+ runfilesBuilder
+ .merge(unifiedLauncher.getRunfilesSupport().getRunfiles())
+ .addLegacyExtraMiddleman(unifiedLauncher.getRunfilesSupport().getRunfilesMiddleman());
+ } else {
+ runfilesBuilder.addTransitiveArtifacts(unifiedLauncher.getFilesToRun());
+ }
+ Runfiles runfiles = runfilesBuilder.build();
RunfilesSupport runfilesSupport =
RunfilesSupport.withExecutable(ruleContext, runfiles, executable);
NestedSet<Artifact> extraFilesToRun =
@@ -265,7 +269,6 @@ public class AndroidDevice implements RuleConfiguredTargetFactory {
.addAll(xvfbSupportFiles)
.add(mksdcard)
.add(snapshotFs)
- .addAll(unifiedLauncher.getFilesToRun())
.addAll(androidRuntestDeps)
.addAll(testingShbaseDeps)
.addAll(platformApks)
@@ -314,6 +317,10 @@ public class AndroidDevice implements RuleConfiguredTargetFactory {
ruleContext.getActionOwner(), executable, STUB_SCRIPT, arguments, true));
}
+ public FilesToRunProvider getUnifiedLauncher() {
+ return unifiedLauncher;
+ }
+
public void createBootAction(Artifact metadata, Artifact images) {
// the boot action will run during the build so use execpath
// strings to find all dependent artifacts (there is no nicely created runfiles