aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Alex Humesky <ahumesky@google.com>2017-02-07 20:44:52 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2017-02-08 15:51:22 +0000
commit602a98cbebeff2ba1c2d8605a9552b2c8f5622ae (patch)
treee8aa7a533d15e284de6cb88f3a79ad075e140031 /src/main/java/com/google/devtools/build
parente3c4d32bc4d209df56562250c1bbcfd2622bfc0c (diff)
*** Reason for rollback *** -- PiperOrigin-RevId: 146820790 MOS_MIGRATED_REVID=146820790
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java25
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java30
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java32
9 files changed, 66 insertions, 87 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java
index 41c5ab751d..4a42915da3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java
@@ -83,12 +83,6 @@ public class AarGeneratorBuilder {
List<Artifact> outs = new ArrayList<>();
List<Artifact> ins = new ArrayList<>();
List<String> args = new ArrayList<>();
-
- // Set the busybox tool
- args.add("--tool");
- args.add("GENERATE_AAR");
- // Deliminate between the tool and the tool arguments.
- args.add("--");
args.add("--mainData");
addPrimaryResourceContainer(ins, args, primary);
@@ -115,16 +109,15 @@ public class AarGeneratorBuilder {
args.add(aarOut.getExecPathString());
outs.add(aarOut);
- ruleContext.registerAction(
- this.builder
- .addInputs(ImmutableList.<Artifact>copyOf(ins))
- .addOutputs(ImmutableList.<Artifact>copyOf(outs))
- .setCommandLine(CommandLine.of(args, false))
- .setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
- .setProgressMessage("Building AAR package for " + ruleContext.getLabel())
- .setMnemonic("AARGenerator")
- .build(context));
+ ruleContext.registerAction(this.builder
+ .addInputs(ImmutableList.<Artifact>copyOf(ins))
+ .addOutputs(ImmutableList.<Artifact>copyOf(outs))
+ .setCommandLine(CommandLine.of(args, false))
+ .setExecutable(
+ ruleContext.getExecutablePrerequisite("$android_aar_generator", Mode.HOST))
+ .setProgressMessage("Building AAR package for " + ruleContext.getLabel())
+ .setMnemonic("AARGenerator")
+ .build(context));
}
private void addPrimaryResourceContainer(List<Artifact> inputs, List<String> args,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java
index 1e3ae9ccce..56ab7bfcf2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java
@@ -35,7 +35,7 @@ import java.util.List;
* $android_resource_validator action. For android_binary, see {@link
* AndroidResourcesProcessorBuilder}.
*/
-public class AndroidResourceMergingActionBuilder {
+class AndroidResourceMergingActionBuilder {
private static final ResourceContainerConverter.ToArtifacts RESOURCE_CONTAINER_TO_ARTIFACTS =
ResourceContainerConverter.builder()
@@ -107,15 +107,12 @@ public class AndroidResourceMergingActionBuilder {
public ResourceContainer build(ActionConstructionContext context) {
CustomCommandLine.Builder builder = new CustomCommandLine.Builder();
-
- // Set the busybox tool.
- builder.add("--tool").add("MERGE").add("--");
// Use a FluentIterable to avoid flattening the NestedSets
NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder();
inputs.addAll(
ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
+ .getExecutablePrerequisite("$android_resource_merger", Mode.HOST)
.getRunfilesSupport()
.getRunfilesArtifactsWithoutMiddlemen());
@@ -165,7 +162,7 @@ public class AndroidResourceMergingActionBuilder {
.addOutputs(ImmutableList.copyOf(outs))
.setCommandLine(builder.build())
.setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
+ ruleContext.getExecutablePrerequisite("$android_resource_merger", Mode.HOST))
.setProgressMessage("Merging Android resources for " + ruleContext.getLabel())
.setMnemonic("AndroidResourceMerger")
.build(context));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java
index 4a926fd8e4..0d86acf744 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java
@@ -112,16 +112,11 @@ public class AndroidResourceParsingActionBuilder {
public ResourceContainer build(ActionConstructionContext context) {
CustomCommandLine.Builder builder = new CustomCommandLine.Builder();
-
- // Set the busybox tool.
- builder.add("--tool").add("PARSE").add("--");
NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder();
- inputs.addAll(
- ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
- .getRunfilesSupport()
- .getRunfilesArtifactsWithoutMiddlemen());
+ inputs.addAll(ruleContext.getExecutablePrerequisite("$android_resource_parser", Mode.HOST)
+ .getRunfilesSupport()
+ .getRunfilesArtifactsWithoutMiddlemen());
Preconditions.checkNotNull(primary);
builder.add("--primaryData").add(RESOURCE_CONTAINER_TO_ARG.apply(primary));
@@ -141,7 +136,7 @@ public class AndroidResourceParsingActionBuilder {
.addOutputs(ImmutableList.copyOf(outs))
.setCommandLine(builder.build())
.setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
+ ruleContext.getExecutablePrerequisite("$android_resource_parser", Mode.HOST))
.setProgressMessage("Parsing Android resources for " + ruleContext.getLabel())
.setMnemonic("AndroidResourceParser")
.build(context));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java
index 66e8b8b3cf..ce8df5f9fc 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java
@@ -91,9 +91,6 @@ class AndroidResourceValidatorActionBuilder {
public ResourceContainer build(ActionConstructionContext context) {
CustomCommandLine.Builder builder = new CustomCommandLine.Builder();
- // Set the busybox tool.
- builder.add("--tool").add("VALIDATE").add("--");
-
if (!Strings.isNullOrEmpty(sdk.getBuildToolsVersion())) {
builder.add("--buildToolsVersion").add(sdk.getBuildToolsVersion());
}
@@ -104,7 +101,7 @@ class AndroidResourceValidatorActionBuilder {
NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder();
inputs.addAll(
ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
+ .getExecutablePrerequisite("$android_resource_validator", Mode.HOST)
.getRunfilesSupport()
.getRunfilesArtifactsWithoutMiddlemen());
@@ -149,7 +146,7 @@ class AndroidResourceValidatorActionBuilder {
.addOutputs(ImmutableList.copyOf(outs))
.setCommandLine(builder.build())
.setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
+ ruleContext.getExecutablePrerequisite("$android_resource_validator", Mode.HOST))
.setProgressMessage("Validating Android resources for " + ruleContext.getLabel())
.setMnemonic("AndroidResourceValidator")
.build(context));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java
index c10228c707..81cec62e5d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java
@@ -201,9 +201,6 @@ public class AndroidResourcesProcessorBuilder {
public ResourceContainer build(ActionConstructionContext context) {
List<Artifact> outs = new ArrayList<>();
CustomCommandLine.Builder builder = new CustomCommandLine.Builder();
-
- // Set the busybox tool.
- builder.add("--tool").add("PACKAGE").add("--");
if (!Strings.isNullOrEmpty(sdk.getBuildToolsVersion())) {
builder.add("--buildToolsVersion").add(sdk.getBuildToolsVersion());
@@ -212,9 +209,7 @@ public class AndroidResourcesProcessorBuilder {
builder.addExecPath("--aapt", sdk.getAapt().getExecutable());
// Use a FluentIterable to avoid flattening the NestedSets
NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder();
- inputs.addAll(
- ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
+ inputs.addAll(ruleContext.getExecutablePrerequisite("$android_resources_processor", Mode.HOST)
.getRunfilesSupport()
.getRunfilesArtifactsWithoutMiddlemen());
@@ -322,7 +317,7 @@ public class AndroidResourcesProcessorBuilder {
.addOutputs(ImmutableList.<Artifact>copyOf(outs))
.setCommandLine(builder.build())
.setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
+ ruleContext.getExecutablePrerequisite("$android_resources_processor", Mode.HOST))
.setProgressMessage("Processing Android resources for " + ruleContext.getLabel())
.setMnemonic("AndroidAapt")
.build(context));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
index ba552078e5..3ec2bb41a6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
@@ -163,7 +163,14 @@ public final class AndroidRuleClasses {
"//tools/android:incremental_stub_application";
public static final String DEFAULT_INCREMENTAL_SPLIT_STUB_APPLICATION =
"//tools/android:incremental_split_stub_application";
- public static final String DEFAULT_RESOURCES_BUSYBOX = "//tools/android:busybox";
+ public static final String DEFAULT_AAR_GENERATOR = "//tools/android:aar_generator";
+ public static final String DEFAULT_MANIFEST_MERGER = "//tools/android:manifest_merger";
+ public static final String DEFAULT_RCLASS_GENERATOR = "//tools/android:rclass_generator";
+ public static final String DEFAULT_RESOURCES_PROCESSOR = "//tools/android:resources_processor";
+ public static final String DEFAULT_RESOURCE_MERGER = "//tools/android:resource_merger";
+ public static final String DEFAULT_RESOURCE_PARSER = "//tools/android:resource_parser";
+ public static final String DEFAULT_RESOURCE_SHRINKER = "//tools/android:resource_shrinker";
+ public static final String DEFAULT_RESOURCE_VALIDATOR = "//tools/android:resource_validator";
public static final String DEFAULT_SDK = "//tools/android:sdk";
/**
@@ -416,11 +423,22 @@ public final class AndroidRuleClasses {
@Override
public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment env) {
return builder
- .add(
- attr("$android_resources_busybox", LABEL)
- .cfg(HOST)
- .exec()
- .value(env.getToolsLabel(DEFAULT_RESOURCES_BUSYBOX)))
+ .add(attr("$android_aar_generator", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_AAR_GENERATOR)))
+ .add(attr("$android_manifest_merger", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_MANIFEST_MERGER)))
+ .add(attr("$android_rclass_generator", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_RCLASS_GENERATOR)))
+ .add(attr("$android_resources_processor", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_RESOURCES_PROCESSOR)))
+ .add(attr("$android_resource_merger", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_RESOURCE_MERGER)))
+ .add(attr("$android_resource_parser", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_RESOURCE_PARSER)))
+ .add(attr("$android_resource_validator", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_RESOURCE_VALIDATOR)))
+ .add(attr("$android_resource_shrinker", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(DEFAULT_RESOURCE_SHRINKER)))
.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java
index c84e3fd1a3..af679f0509 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.analysis.actions.CustomCommandLine;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
+
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
@@ -88,15 +89,10 @@ public class ManifestMergerActionBuilder {
NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder();
ImmutableList.Builder<Artifact> outputs = ImmutableList.builder();
CustomCommandLine.Builder builder = new CustomCommandLine.Builder();
-
- // Set the busybox tool.
- builder.add("--tool").add("MERGE_MANIFEST").add("--");
- inputs.addAll(
- ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
- .getRunfilesSupport()
- .getRunfilesArtifactsWithoutMiddlemen());
+ inputs.addAll(ruleContext.getExecutablePrerequisite("$android_manifest_merger", Mode.HOST)
+ .getRunfilesSupport()
+ .getRunfilesArtifactsWithoutMiddlemen());
builder.addExecPath("--manifest", manifest);
inputs.add(manifest);
@@ -139,7 +135,7 @@ public class ManifestMergerActionBuilder {
.addOutputs(outputs.build())
.setCommandLine(builder.build())
.setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
+ ruleContext.getExecutablePrerequisite("$android_manifest_merger", Mode.HOST))
.setProgressMessage("Merging manifest for " + ruleContext.getLabel())
.setMnemonic("ManifestMerger")
.build(context));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java
index aec168286d..f9597c4a57 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java
@@ -98,16 +98,10 @@ public class RClassGeneratorActionBuilder {
public void build() {
CustomCommandLine.Builder builder = new CustomCommandLine.Builder();
-
- // Set the busybox tool.
- builder.add("--tool").add("GENERATE_BINARY_R").add("--");
-
NestedSetBuilder<Artifact> inputs = NestedSetBuilder.naiveLinkOrder();
- inputs.addAll(
- ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
- .getRunfilesSupport()
- .getRunfilesArtifactsWithoutMiddlemen());
+ inputs.addAll(ruleContext.getExecutablePrerequisite("$android_rclass_generator", Mode.HOST)
+ .getRunfilesSupport()
+ .getRunfilesArtifactsWithoutMiddlemen());
List<Artifact> outs = new ArrayList<>();
if (primary.getRTxt() != null) {
@@ -144,7 +138,7 @@ public class RClassGeneratorActionBuilder {
.useParameterFile(ParameterFileType.SHELL_QUOTED)
.setCommandLine(builder.build())
.setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
+ ruleContext.getExecutablePrerequisite("$android_rclass_generator", Mode.HOST))
.setProgressMessage("Generating R Classes: " + ruleContext.getLabel())
.setMnemonic("RClassGenerator")
.build(ruleContext));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java
index 4d234291c6..beb7370d5a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java
@@ -144,15 +144,10 @@ public class ResourceShrinkerActionBuilder {
ImmutableList.Builder<Artifact> outputs = ImmutableList.builder();
CustomCommandLine.Builder commandLine = new CustomCommandLine.Builder();
-
- // Set the busybox tool.
- commandLine.add("--tool").add("SHRINK").add("--");
- inputs.addAll(
- ruleContext
- .getExecutablePrerequisite("$android_resources_busybox", Mode.HOST)
- .getRunfilesSupport()
- .getRunfilesArtifactsWithoutMiddlemen());
+ inputs.addAll(ruleContext.getExecutablePrerequisite("$android_resource_shrinker", Mode.HOST)
+ .getRunfilesSupport()
+ .getRunfilesArtifactsWithoutMiddlemen());
commandLine.addExecPath("--aapt", sdk.getAapt().getExecutable());
@@ -213,17 +208,16 @@ public class ResourceShrinkerActionBuilder {
commandLine.addExecPath("--log", logOut);
outputs.add(logOut);
- ruleContext.registerAction(
- spawnActionBuilder
- .addTool(sdk.getAapt())
- .addInputs(inputs.build())
- .addOutputs(outputs.build())
- .setCommandLine(commandLine.build())
- .setExecutable(
- ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
- .setProgressMessage("Shrinking resources for " + ruleContext.getLabel())
- .setMnemonic("ResourceShrinker")
- .build(ruleContext));
+ ruleContext.registerAction(spawnActionBuilder
+ .addTool(sdk.getAapt())
+ .addInputs(inputs.build())
+ .addOutputs(outputs.build())
+ .setCommandLine(commandLine.build())
+ .setExecutable(ruleContext.getExecutablePrerequisite(
+ "$android_resource_shrinker", Mode.HOST))
+ .setProgressMessage("Shrinking resources for " + ruleContext.getLabel())
+ .setMnemonic("ResourceShrinker")
+ .build(ruleContext));
return resourceApkOut;
}