From b64150de45415f3871e1de0a2c182636567b9225 Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 9 May 2016 19:20:23 +0000 Subject: Avoid generating an ap_ file for android_library Saves roughly 200ms per aapt invocation, when aapt is only used for validation of resources. -- MOS_MIGRATED_REVID=121863470 --- .../google/devtools/build/lib/rules/android/AndroidLibrary.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java index eae49fb328..e3fe0b4256 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java @@ -81,7 +81,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { return null; } resourceApk = applicationManifest.packWithDataAndResources( - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_APK), + null, /* resourceApk -- not needed for library */ ruleContext, true, /* isLibrary */ ResourceDependencies.fromRuleDeps(ruleContext, JavaCommon.isNeverLink(ruleContext)), @@ -148,14 +148,12 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { aar = null; ApplicationManifest applicationManifest = ApplicationManifest.generatedManifest(ruleContext); - Artifact apk = ruleContext.getImplicitOutputArtifact( - AndroidRuleClasses.ANDROID_RESOURCES_APK); - String javaPackage = AndroidCommon.getJavaPackage(ruleContext); ResourceContainer resourceContainer = new ResourceContainer(ruleContext.getLabel(), javaPackage, null /* renameManifestPackage */, false /* inlinedConstants */, - apk, applicationManifest.getManifest(), + null /* resourceApk -- not needed for library */, + applicationManifest.getManifest(), ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_JAVA_SOURCE_JAR), ImmutableList.of(), ImmutableList.of(), ImmutableList.of(), ImmutableList.of(), @@ -164,7 +162,6 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { primaryResources = new AndroidResourcesProcessorBuilder(ruleContext) .setLibrary(true) - .setApkOut(apk) .setRTxtOut(resourceContainer.getRTxt()) .setManifestOut(ruleContext.getImplicitOutputArtifact( AndroidRuleClasses.ANDROID_PROCESSED_MANIFEST)) -- cgit v1.2.3