From 602a98cbebeff2ba1c2d8605a9552b2c8f5622ae Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Tue, 7 Feb 2017 20:44:52 +0000 Subject: Rollback of commit d11d510c571b10787856395709f9ad945ca70bb2. *** Reason for rollback *** -- PiperOrigin-RevId: 146820790 MOS_MIGRATED_REVID=146820790 --- .../lib/rules/android/AarGeneratorBuilder.java | 25 ++++++----------- .../AndroidResourceMergingActionBuilder.java | 9 ++---- .../AndroidResourceParsingActionBuilder.java | 13 +++------ .../AndroidResourceValidatorActionBuilder.java | 7 ++--- .../android/AndroidResourcesProcessorBuilder.java | 9 ++---- .../lib/rules/android/AndroidRuleClasses.java | 30 ++++++++++++++++---- .../rules/android/ManifestMergerActionBuilder.java | 14 ++++------ .../android/RClassGeneratorActionBuilder.java | 14 +++------- .../android/ResourceShrinkerActionBuilder.java | 32 +++++++++------------- 9 files changed, 66 insertions(+), 87 deletions(-) (limited to 'src/main') 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 outs = new ArrayList<>(); List ins = new ArrayList<>(); List 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.copyOf(ins)) - .addOutputs(ImmutableList.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.copyOf(ins)) + .addOutputs(ImmutableList.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 inputs, List 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 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 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 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 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 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.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 inputs = NestedSetBuilder.naiveLinkOrder(); ImmutableList.Builder 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 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 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 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; } -- cgit v1.2.3