aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java
diff options
context:
space:
mode:
authorGravatar asteinb <asteinb@google.com>2018-05-22 09:42:36 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-22 09:44:00 -0700
commitfd0aec8adae7785ca5aecd21886dacd5d9e5091e (patch)
tree0aea9a2c18ab05739a68b6a2b86d0d839d34a172 /src/main/java/com/google/devtools/build/lib/rules/android/BusyBoxActionBuilder.java
parenta51b436f4290a79f77157b9e1f2f2e7b26283a5c (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.java22
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));
}
}