aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2018-04-05 13:43:03 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-05 13:44:42 -0700
commit2660ffe3c9303466d86fff4643c0c1b5e34a8061 (patch)
tree6fca6e40aa9b0783e011fa7e4acb86f87b37a392 /src/main/java/com/google/devtools/build
parent58fe737d06b63c44d0a1991ada772e78de9e0056 (diff)
Remove legacy manifest merging from Bazel.
RELNOTES: android_binary.manifest_merger is no longer supported. PiperOrigin-RevId: 191791177
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java33
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java4
3 files changed, 4 insertions, 37 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 ff90341fe6..14279dc1bb 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
@@ -398,11 +398,11 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor
if (AndroidResources.definesAndroidResources(ruleContext.attributes())) {
AndroidResources.validateRuleContext(ruleContext);
ApplicationManifest ruleManifest = androidSemantics.getManifestForRule(ruleContext);
- applicationManifest = ruleManifest.mergeWith(ruleContext, resourceDependencies, false);
+ applicationManifest = ruleManifest.mergeWith(ruleContext, 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, resourceDependencies, false);
+ applicationManifest = dummyManifest.mergeWith(ruleContext, resourceDependencies);
}
return applicationManifest;
}
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 fa94d0dcf5..72395e1d81 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
@@ -50,7 +50,6 @@ import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
import com.google.devtools.build.lib.packages.TriState;
import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidAaptVersion;
-import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidManifestMerger;
import com.google.devtools.build.lib.rules.android.AndroidConfiguration.ConfigurationDistinguisher;
import com.google.devtools.build.lib.rules.config.ConfigFeatureFlagProvider;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration;
@@ -173,7 +172,6 @@ public final class AndroidRuleClasses {
fromTemplates("%{name}_files/dexmanifest.txt");
public static final SafeImplicitOutputsFunction JAVA_RESOURCES_JAR =
fromTemplates("%{name}_files/java_resources.jar");
- public static final String MANIFEST_MERGE_TOOL_LABEL = "//tools/android:merge_manifests";
public static final String BUILD_INCREMENTAL_DEXMANIFEST_LABEL =
"//tools/android:build_incremental_dexmanifest";
public static final String STUBIFY_MANIFEST_LABEL = "//tools/android:stubify_manifest";
@@ -541,12 +539,6 @@ public final class AndroidRuleClasses {
attr(DataBinding.DATABINDING_ANNOTATION_PROCESSOR_ATTR, LABEL)
.cfg(HostTransition.INSTANCE)
.value(env.getToolsLabel("//tools/android:databinding_annotation_processor")))
- // TODO(b/30816740): Remove this once legacy manifest merging is no longer supported.
- .add(
- attr("$android_manifest_merge_tool", LABEL)
- .cfg(HostTransition.INSTANCE)
- .exec()
- .value(env.getToolsLabel(AndroidRuleClasses.MANIFEST_MERGE_TOOL_LABEL)))
.advertiseSkylarkProvider(AndroidResourcesInfo.PROVIDER.id())
.advertiseSkylarkProvider(AndroidNativeLibsInfo.PROVIDER.id())
.build();
@@ -933,31 +925,6 @@ public final class AndroidRuleClasses {
attr(":cc_toolchain_split", LABEL)
.cfg(AndroidRuleClasses.ANDROID_SPLIT_TRANSITION)
.value(CppRuleClasses.ccToolchainAttribute(env)))
- /* <!-- #BLAZE_RULE(android_binary).ATTRIBUTE(manifest_merger) -->
- Select the manifest merger to use for this rule.<br/>
- Possible values:
- <ul>
- <li><code>manifest_merger = "legacy"</code>: Use the legacy manifest merger. Does not
- allow features of the android merger like placeholder substitution and tools
- attributes for defining merge behavior. Removes all
- <code>&lt;uses-permission&gt;</code> and <code>&lt;uses-permission-sdk-23&gt;</code>
- tags. Performs a tag-level merge.</li>
- <li><code>manifest_merger = "android"</code>: Use the android manifest merger. Allows
- features like placeholder substitution and tools attributes for defining merge
- behavior. Follows the semantics from
- <a href="https://developer.android.com/studio/build/manifest-merge.html">
- the documentation</a> except it has been modified to also remove all
- <code>&lt;uses-permission&gt;</code> and <code>&lt;uses-permission-sdk-23&gt;</code>
- tags. Performs an attribute-level merge.</li>
- <li><code>manifest_merger = "auto"</code>: Merger is controlled by the
- <a href="../user-manual.html#flag--android_manifest_merger">
- --android_manifest_merger</a> flag.</li>
- </ul>
- <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
- .add(
- attr("manifest_merger", STRING)
- .allowedValues(new AllowedValueSet(AndroidManifestMerger.getAttributeValues()))
- .value(AndroidManifestMerger.getRuleAttributeDefault()))
/* <!-- #BLAZE_RULE(android_binary).ATTRIBUTE(manifest_values) -->
A dictionary of values to be overridden in the manifest. Any instance of ${name} in the
manifest will be replaced with the value corresponding to name in this dictionary.
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 c4f098ac6b..38069bb0a8 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
@@ -187,7 +187,7 @@ public final class ApplicationManifest {
return mergeWith(ruleContext, resourceDeps, legacy);
}
- public ApplicationManifest mergeWith(
+ private ApplicationManifest mergeWith(
RuleContext ruleContext, ResourceDependencies resourceDeps, boolean legacy) {
Map<Artifact, Label> mergeeManifests = getMergeeManifests(resourceDeps.getResourceContainers());
@@ -234,7 +234,7 @@ public final class ApplicationManifest {
}
private boolean useLegacyMerging(RuleContext ruleContext) {
- boolean legacy = true;
+ boolean legacy = false;
if (ruleContext.isLegalFragment(AndroidConfiguration.class)
&& ruleContext.getRule().isAttrDefined("manifest_merger", STRING)) {
AndroidManifestMerger merger =