diff options
author | 2017-03-29 22:59:45 +0000 | |
---|---|---|
committer | 2017-03-31 17:06:51 +0200 | |
commit | 6e35832df1fbafcde5812f013d0b3cecc8d6c6ec (patch) | |
tree | 7475fb5863ab095c2d434abf9262424380b56a70 /src/main/java/com/google/devtools/build/lib | |
parent | 9ec917f10533c4cc68aacda4ca77ebeaec7bfa90 (diff) |
Partial rollback of commit 5e1a420f1b385382a2df5359faf3ae773aa8d61e.
*** Reason for rollback ***
Breaks tests that expected previous id generation order.
RELNOTES: None.
PiperOrigin-RevId: 151638886
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java | 65 |
1 files changed, 29 insertions, 36 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java index 441b0c4b12..8a28a16a6e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java @@ -460,43 +460,38 @@ public final class ApplicationManifest { if (isLibrary && AndroidCommon.getAndroidConfig(ruleContext).useParallelResourceProcessing()) { // android_library should only build the APK one way (!incremental). Preconditions.checkArgument(!incremental); - Artifact rJavaClassJar = - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_CLASS_JAR); - - ResourceContainer parsed = - new AndroidResourceParsingActionBuilder(ruleContext) - .setParse(data) - .withPrimary(resourceContainer) - .setOutput(resourceContainer.getSymbols()) - .build(ruleContext); - - ResourceContainer generated = - new LibraryRGeneratorActionBuilder() - .setJavaPackage(resourceContainer.getJavaPackage()) - .withPrimary(parsed) - .withDependencies(resourceDeps) - .setClassJarOut(rJavaClassJar) - .build(ruleContext); + Artifact rJavaClassJar = ruleContext.getImplicitOutputArtifact( + AndroidRuleClasses.ANDROID_RESOURCES_CLASS_JAR); + + if (resourceContainer.getSymbols() != null) { + new AndroidResourceParsingActionBuilder(ruleContext) + .withPrimary(resourceContainer) + .setParse(data) + .setOutput(resourceContainer.getSymbols()) + .build(ruleContext); + } - ResourceContainer merged = + AndroidResourceMergingActionBuilder resourcesMergerBuilder = new AndroidResourceMergingActionBuilder(ruleContext) - .setJavaPackage(generated.getJavaPackage()) - .withPrimary(generated) + .setJavaPackage(resourceContainer.getJavaPackage()) + .withPrimary(resourceContainer) .withDependencies(resourceDeps) .setMergedResourcesOut(mergedResources) .setManifestOut(manifestOut) - .setDataBindingInfoZip(dataBindingInfoZip) - .build(ruleContext); + .setClassJarOut(rJavaClassJar) + .setDataBindingInfoZip(dataBindingInfoZip); + ResourceContainer merged = resourcesMergerBuilder.build(ruleContext); - processed = + AndroidResourceValidatorActionBuilder validatorBuilder = new AndroidResourceValidatorActionBuilder(ruleContext) .setJavaPackage(merged.getJavaPackage()) - .setDebug(ruleContext.getConfiguration().getCompilationMode() != CompilationMode.OPT) + .setDebug( + ruleContext.getConfiguration().getCompilationMode() != CompilationMode.OPT) .setMergedResources(mergedResources) .withPrimary(merged) .setSourceJarOut(merged.getJavaSourceJar()) - .setRTxtOut(merged.getRTxt()) - .build(ruleContext); + .setRTxtOut(merged.getRTxt()); + processed = validatorBuilder.build(ruleContext); } else { AndroidResourcesProcessorBuilder builder = new AndroidResourcesProcessorBuilder(ruleContext) @@ -646,16 +641,14 @@ public final class ApplicationManifest { additionalAaptOpts.build(), resourceFilter.getDensities()); - ResourceContainer updatedResources = - resourceContainer - .toBuilder() - .setLabel(ruleContext.getLabel()) - .setApk(resourceApk) - .setManifest(getManifest()) - .setJavaSourceJar(javaSourcesJar) - .setJavaClassJar(null) - .setSymbols(null) - .build(); + ResourceContainer updatedResources = resourceContainer.toBuilder() + .setLabel(ruleContext.getLabel()) + .setApk(resourceApk) + .setManifest(getManifest()) + .setJavaSourceJar(javaSourcesJar) + .setJavaClassJar(null) + .setSymbols(null) + .build(); aaptActionHelper.createGenerateProguardAction(proguardCfg, mainDexProguardCfg); |