diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java | 25 |
1 files changed, 11 insertions, 14 deletions
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 af4e4fa794..338282bc4e 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 @@ -57,7 +57,9 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { public ConfiguredTarget create(RuleContext ruleContext) { JavaSemantics javaSemantics = createJavaSemantics(); AndroidSemantics androidSemantics = createAndroidSemantics(); - + if (!AndroidSdkProvider.verifyPresence(ruleContext)) { + return null; + } List<? extends TransitiveInfoCollection> deps = ruleContext.getPrerequisites("deps", Mode.TARGET); checkResourceInlining(ruleContext); @@ -69,11 +71,6 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { NestedSet<Artifact> transitiveProguardConfigs = collectTransitiveProguardConfigs(ruleContext); AndroidIdlProvider transitiveIdlImportData = collectTransitiveIdlImports(ruleContext); - AndroidTools tools = AndroidTools.fromRuleContext(ruleContext); - if (tools == null) { - return null; - } - if (LocalResourceContainer.definesAndroidResources(ruleContext.attributes())) { try { if (!LocalResourceContainer.validateRuleContext(ruleContext)) { @@ -85,7 +82,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { ApplicationManifest applicationManifest = androidSemantics.getManifestForRule(ruleContext); ResourceApk resourceApk = applicationManifest.packWithDataAndResources( ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_APK), - ruleContext, transitiveResources, tools, + ruleContext, transitiveResources, ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_R_TXT), ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_SYMBOLS_TXT), ImmutableList.<String>of(), /* configurationFilters */ @@ -97,7 +94,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { false, null /* proguardCfgOut */); - if (androidCommon.init(javaSemantics, androidSemantics, tools, + if (androidCommon.init(javaSemantics, androidSemantics, resourceApk, transitiveIdlImportData, false, true) == null) { return null; } @@ -108,7 +105,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { Artifact aarOut = ruleContext.getImplicitOutputArtifact( AndroidRuleClasses.ANDROID_LIBRARY_AAR); - new AarGeneratorBuilder(tools, ruleContext) + new AarGeneratorBuilder(ruleContext) .withPrimary(resourceApk.getPrimaryResource()) .withManifest(resourceApk.getPrimaryResource().getManifest()) .withRtxt(resourceApk.getPrimaryResource().getRTxt()) @@ -118,7 +115,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { .build(ruleContext); RuleConfiguredTargetBuilder builder = new RuleConfiguredTargetBuilder(ruleContext); - androidCommon.addTransitiveInfoProviders(builder, tools); + androidCommon.addTransitiveInfoProviders(builder); androidSemantics.addTransitiveInfoProviders( builder, ruleContext, javaCommon, androidCommon, null, resourceApk, null, ImmutableList.<Artifact>of()); @@ -147,13 +144,13 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { JavaCommon javaCommon = new JavaCommon(ruleContext, javaSemantics); AndroidCommon androidCommon = new AndroidCommon(ruleContext, javaCommon); ResourceApk resourceApk = ResourceApk.fromTransitiveResources(transitiveResources); - if (androidCommon.init(javaSemantics, androidSemantics, tools, + if (androidCommon.init(javaSemantics, androidSemantics, resourceApk, transitiveIdlImportData, false, true) == null) { return null; } RuleConfiguredTargetBuilder targetBuilder = androidCommon.addTransitiveInfoProviders( - new RuleConfiguredTargetBuilder(ruleContext), tools); + new RuleConfiguredTargetBuilder(ruleContext)); androidSemantics.addTransitiveInfoProviders( targetBuilder, ruleContext, javaCommon, androidCommon, @@ -211,7 +208,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { ruleContext.attributes().get("exports_manifest", Type.BOOLEAN), ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_R_TXT), null); - primaryResources = new AndroidResourcesProcessorBuilder(tools, ruleContext) + primaryResources = new AndroidResourcesProcessorBuilder(ruleContext) .setApkOut(apk) .setRTxtOut(primaryResources.getRTxt()) .setSourceJarOut(primaryResources.getJavaSourceJar()) @@ -224,7 +221,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { .build(ruleContext); } - new AarGeneratorBuilder(tools, ruleContext) + new AarGeneratorBuilder(ruleContext) .withPrimary(primaryResources) .withManifest(primaryResources.getManifest()) .withRtxt(primaryResources.getRTxt()) |