From 8492136cc0855e28a09230da5dad629a9e0fe23c Mon Sep 17 00:00:00 2001 From: ajmichael Date: Thu, 20 Jul 2017 18:59:16 +0200 Subject: Fold AndroidAaptBaseRule into AndroidBaseRule. This is a no-op, the same classes inherited from them. RELNOTES: None PiperOrigin-RevId: 162627873 --- .../lib/bazel/rules/BazelRuleClassProvider.java | 1 - .../build/lib/rules/android/AarImportBaseRule.java | 6 +- .../lib/rules/android/AndroidLibraryBaseRule.java | 8 +-- .../lib/rules/android/AndroidRuleClasses.java | 80 ++++++++++------------ 4 files changed, 38 insertions(+), 57 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java index 86b5e20cad..e88ff5af88 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java @@ -509,7 +509,6 @@ public class BazelRuleClassProvider { builder.addRuleDefinition(new AndroidRuleClasses.AndroidSdkRule()); builder.addRuleDefinition(new BazelAndroidToolsDefaultsJarRule()); builder.addRuleDefinition(new AndroidRuleClasses.AndroidBaseRule()); - builder.addRuleDefinition(new AndroidRuleClasses.AndroidAaptBaseRule()); builder.addRuleDefinition(new AndroidRuleClasses.AndroidResourceSupportRule()); builder.addRuleDefinition( new AndroidRuleClasses.AndroidBinaryBaseRule( diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AarImportBaseRule.java b/src/main/java/com/google/devtools/build/lib/rules/android/AarImportBaseRule.java index 20fe79a708..530a04cc7d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AarImportBaseRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AarImportBaseRule.java @@ -25,7 +25,7 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; -import com.google.devtools.build.lib.rules.android.AndroidRuleClasses.AndroidAaptBaseRule; +import com.google.devtools.build.lib.rules.android.AndroidRuleClasses.AndroidBaseRule; import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider; import com.google.devtools.build.lib.util.FileType; @@ -78,9 +78,7 @@ public class AarImportBaseRule implements RuleDefinition { return RuleDefinition.Metadata.builder() .name("$aar_import_base") .type(RuleClassType.ABSTRACT) - // AndroidAaptBaseRule is needed for $android_manifest_merger which is used by the - // ApplicationManifest class. - .ancestors(AndroidAaptBaseRule.class) + .ancestors(AndroidBaseRule.class) .build(); } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java index 72d2ded8b5..192db21f8c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java @@ -26,8 +26,6 @@ import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; import com.google.devtools.build.lib.packages.TriState; -import com.google.devtools.build.lib.rules.android.AndroidRuleClasses.AndroidAaptBaseRule; -import com.google.devtools.build.lib.rules.android.AndroidRuleClasses.AndroidBaseRule; import com.google.devtools.build.lib.rules.android.AndroidRuleClasses.AndroidResourceSupportRule; import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider; import com.google.devtools.build.lib.rules.java.JavaSemantics; @@ -204,11 +202,7 @@ public final class AndroidLibraryBaseRule implements RuleDefinition { return RuleDefinition.Metadata.builder() .name("$android_library_base") .type(RuleClassType.ABSTRACT) - .ancestors( - AndroidBaseRule.class, - AndroidAaptBaseRule.class, - AndroidResourceSupportRule.class, - ProguardLibraryRule.class) + .ancestors(AndroidResourceSupportRule.class, ProguardLibraryRule.class) .build(); } } 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 c04686243c..f29882cb1b 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 @@ -420,31 +420,6 @@ public final class AndroidRuleClasses { } } - /** - * Base class for rule definitions using AAPT. - */ - public static final class AndroidAaptBaseRule implements RuleDefinition { - @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))) - .build(); - } - - @Override - public Metadata getMetadata() { - return Metadata.builder() - .name("$android_aapt_base") - .type(RuleClassType.ABSTRACT) - .ancestors(AndroidRuleClasses.AndroidBaseRule.class) - .build(); - } - } - /** * Base class for rule definitions that support resource declarations. */ @@ -557,9 +532,10 @@ public final class AndroidRuleClasses { @Override public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment env) { return builder - .add(attr(":android_sdk", LABEL) - .allowedRuleClasses("android_sdk", "filegroup") - .value(new AndroidSdkLabel(env.getToolsLabel(AndroidRuleClasses.DEFAULT_SDK)))) + .add( + attr(":android_sdk", LABEL) + .allowedRuleClasses("android_sdk", "filegroup") + .value(new AndroidSdkLabel(env.getToolsLabel(AndroidRuleClasses.DEFAULT_SDK)))) /* Java compiler plugins to run at compile-time. Every java_plugin specified in @@ -568,13 +544,17 @@ public final class AndroidRuleClasses { the plugin will be included in the result jar of the target. */ - .add(attr("plugins", LABEL_LIST).cfg(HOST).allowedRuleClasses("java_plugin") - .legacyAllowAnyFileType()) - .add(attr(":java_plugins", LABEL_LIST) - .cfg(HOST) - .allowedRuleClasses("java_plugin") - .silentRuleClassFilter() - .value(JavaSemantics.JAVA_PLUGINS)) + .add( + attr("plugins", LABEL_LIST) + .cfg(HOST) + .allowedRuleClasses("java_plugin") + .legacyAllowAnyFileType()) + .add( + attr(":java_plugins", LABEL_LIST) + .cfg(HOST) + .allowedRuleClasses("java_plugin") + .silentRuleClassFilter() + .value(JavaSemantics.JAVA_PLUGINS)) /* Extra compiler options for this target. Subject to "Make variable" substitution and @@ -585,12 +565,25 @@ public final class AndroidRuleClasses { .add(attr("javacopts", STRING_LIST)) // TODO(ahumesky): It would be better to put this dependency in //tools/android somehow // like all the rest of android tools. - .add(attr("$jarjar_bin", LABEL).cfg(HOST).exec() - .value(env.getToolsLabel("//third_party/java/jarjar:jarjar_bin"))) - .add(attr("$idlclass", LABEL).cfg(HOST).exec() - .value(env.getToolsLabel("//tools/android:IdlClass"))) - .add(attr("$desugar_java8_extra_bootclasspath", LABEL).cfg(HOST) - .value(env.getToolsLabel("//tools/android:desugar_java8_extra_bootclasspath"))) + .add( + attr("$jarjar_bin", LABEL) + .cfg(HOST) + .exec() + .value(env.getToolsLabel("//third_party/java/jarjar:jarjar_bin"))) + .add( + attr("$idlclass", LABEL) + .cfg(HOST) + .exec() + .value(env.getToolsLabel("//tools/android:IdlClass"))) + .add( + attr("$desugar_java8_extra_bootclasspath", LABEL) + .cfg(HOST) + .value(env.getToolsLabel("//tools/android:desugar_java8_extra_bootclasspath"))) + .add( + attr("$android_resources_busybox", LABEL) + .cfg(HOST) + .exec() + .value(env.getToolsLabel(DEFAULT_RESOURCES_BUSYBOX))) .build(); } @@ -923,10 +916,7 @@ public final class AndroidRuleClasses { return RuleDefinition.Metadata.builder() .name("$android_binary_base") .type(RuleClassType.ABSTRACT) - .ancestors( - AndroidRuleClasses.AndroidBaseRule.class, - AndroidAaptBaseRule.class, - AndroidResourceSupportRule.class) + .ancestors(AndroidRuleClasses.AndroidBaseRule.class, AndroidResourceSupportRule.class) .build(); } } -- cgit v1.2.3