diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java | 88 |
1 files changed, 12 insertions, 76 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java index 6e6743ce0e..5700cf35d0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java @@ -60,7 +60,6 @@ import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider; import com.google.devtools.build.lib.rules.java.JavaTargetAttributes; import com.google.devtools.build.lib.rules.java.JavaToolchainProvider; import com.google.devtools.build.lib.rules.java.OneVersionCheckActionBuilder; -import com.google.devtools.build.lib.rules.java.ProguardHelper; import com.google.devtools.build.lib.rules.java.proto.GeneratedExtensionRegistryProvider; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.util.OS; @@ -94,49 +93,18 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor JavaTargetAttributes.Builder attributesBuilder = javaCommon.initCommon(); final AndroidDataContext dataContext = androidSemantics.makeContextForNative(ruleContext); - final ResourceApk resourceApk; - - if (AndroidResources.decoupleDataProcessing(dataContext)) { - resourceApk = - buildResourceApk( - dataContext, - androidSemantics, - DataBinding.contextFrom(ruleContext, dataContext.getAndroidConfig()), - AndroidManifest.fromAttributes(ruleContext, dataContext), - AndroidResources.from(ruleContext, "resource_files"), - AndroidAssets.from(ruleContext), - ResourceDependencies.fromRuleDeps(ruleContext, /* neverlink = */ false), - AssetDependencies.fromRuleDeps(ruleContext, /* neverlink = */ false), - ApplicationManifest.getManifestValues(ruleContext), - AndroidAaptVersion.chooseTargetAaptVersion(ruleContext)); - } else { - // Create the final merged manifest - ResourceDependencies resourceDependencies = - ResourceDependencies.fromRuleDeps(ruleContext, /* neverlink= */ false); - - ApplicationManifest applicationManifest = - getApplicationManifest(ruleContext, dataContext, resourceDependencies); - - // Create the final merged R class - resourceApk = - applicationManifest.packBinaryWithDataAndResources( - ruleContext, - dataContext, - DataBinding.contextFrom(ruleContext, dataContext.getAndroidConfig()), - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_APK), - resourceDependencies, - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_R_TXT), - ResourceFilterFactory.fromRuleContextAndAttrs(ruleContext), - ImmutableList.of(), /* list of uncompressed extensions */ - false, /* crunch png */ - ProguardHelper.getProguardConfigArtifact(ruleContext, ""), - /* mainDexProguardCfg= */ null, - /* conditionalKeepRules= */ false, - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_PROCESSED_MANIFEST), - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_ZIP), - null, /* featureOfArtifact */ - null /* featureAfterArtifact */); - } + final ResourceApk resourceApk = + buildResourceApk( + dataContext, + androidSemantics, + DataBinding.contextFrom(ruleContext, dataContext.getAndroidConfig()), + AndroidManifest.fromAttributes(ruleContext, dataContext), + AndroidResources.from(ruleContext, "resource_files"), + AndroidAssets.from(ruleContext), + ResourceDependencies.fromRuleDeps(ruleContext, /* neverlink = */ false), + AssetDependencies.fromRuleDeps(ruleContext, /* neverlink = */ false), + ApplicationManifest.getManifestValues(ruleContext), + AndroidAaptVersion.chooseTargetAaptVersion(ruleContext)); attributesBuilder.addRuntimeClassPathEntry(resourceApk.getResourceJavaClassJar()); @@ -408,38 +376,6 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor .build(); } - /** - * Returns a merged {@link ApplicationManifest} for the rule. The final merged manifest will be - * merged into the manifest provided on the rule, or into a placeholder manifest if one is not - * provided - * - * @throws InterruptedException - * @throws RuleErrorException - */ - private ApplicationManifest getApplicationManifest( - RuleContext ruleContext, - AndroidDataContext dataContext, - ResourceDependencies resourceDependencies) - throws InterruptedException, RuleErrorException { - ApplicationManifest applicationManifest; - - if (AndroidResources.definesAndroidResources(ruleContext.attributes())) { - AndroidResources.validateRuleContext(ruleContext); - ApplicationManifest ruleManifest = - ApplicationManifest.renamedFromRule(ruleContext, dataContext); - applicationManifest = - ruleManifest.mergeWith( - ruleContext, dataContext, createAndroidSemantics(), resourceDependencies); - } else { - // we don't have a manifest, merge like android_library with a stub manifest - ApplicationManifest dummyManifest = ApplicationManifest.generatedManifest(ruleContext); - applicationManifest = - dummyManifest.mergeWith( - ruleContext, dataContext, createAndroidSemantics(), resourceDependencies); - } - return applicationManifest; - } - private static void setUpJavaCommon( JavaCommon common, JavaCompilationHelper helper, |