diff options
author | asteinb <asteinb@google.com> | 2018-05-22 09:42:36 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-22 09:44:00 -0700 |
commit | fd0aec8adae7785ca5aecd21886dacd5d9e5091e (patch) | |
tree | 0aea9a2c18ab05739a68b6a2b86d0d839d34a172 /src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java | |
parent | a51b436f4290a79f77157b9e1f2f2e7b26283a5c (diff) |
Pass AndroidDataContext to remaining non-ActionBuilder code
Now that the AndroidDataContext is passed everywhere, we can begin modifying
action builders.
This includes removing Label information from Proguard artifact paths.
getUniqueDirectoryArtifact() already included label earlier in the path, so
this information was redundant anyway.
RELNOTES: none
PiperOrigin-RevId: 197576210
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java index 463022c295..b459f07df6 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java @@ -17,10 +17,8 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ParamFileInfo; import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; -import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; import com.google.devtools.build.lib.analysis.actions.SpawnAction; -import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.util.OS; @@ -42,20 +40,20 @@ public final class BusyBoxActionBuilder { .setUseAlways(OS.getCurrent() == OS.WINDOWS) .build(); - private final RuleContext ruleContext; + private final AndroidDataContext dataContext; private final NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder(); private final ImmutableList.Builder<Artifact> outputs = ImmutableList.builder(); private final CustomCommandLine.Builder commandLine = CustomCommandLine.builder(); public static BusyBoxActionBuilder create( - RuleContext ruleContext, @CompileTimeConstant String toolName) { - BusyBoxActionBuilder builder = new BusyBoxActionBuilder(ruleContext); + AndroidDataContext dataContext, @CompileTimeConstant String toolName) { + BusyBoxActionBuilder builder = new BusyBoxActionBuilder(dataContext); builder.commandLine.add("--tool").add(toolName).add("--"); return builder; } - private BusyBoxActionBuilder(RuleContext ruleContext) { - this.ruleContext = ruleContext; + private BusyBoxActionBuilder(AndroidDataContext dataContext) { + this.dataContext = dataContext; } public BusyBoxActionBuilder addInput(@CompileTimeConstant String arg, Artifact value) { @@ -122,16 +120,14 @@ public final class BusyBoxActionBuilder { * @param mnemonic a mnemonic used to indicate the tool being run, for example, "BusyBoxTool". */ public void buildAndRegister(String message, String mnemonic) { - ruleContext.registerAction( + dataContext.registerAction( new SpawnAction.Builder() .useDefaultShellEnvironment() .addTransitiveInputs(inputs.build()) .addOutputs(outputs.build()) .addCommandLine(commandLine.build(), FORCED_PARAM_FILE_INFO) - .setExecutable( - ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)) - .setProgressMessage("%s for %s", message, ruleContext.getLabel()) - .setMnemonic(mnemonic) - .build(ruleContext)); + .setExecutable(dataContext.getBusybox()) + .setProgressMessage("%s for %s", message, dataContext.getLabel()) + .setMnemonic(mnemonic)); } } |