aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java23
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java22
2 files changed, 22 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java
index e6e116d888..f901c6c5bc 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java
@@ -27,7 +27,6 @@ import com.google.devtools.build.lib.packages.Attribute.AllowedValueSet;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidManifestMerger;
-import com.google.devtools.build.lib.rules.android.AndroidRuleClasses.MultidexMode;
/**
* Attributes for {@code android_binary} that are not present on {@code android_test}.
@@ -96,28 +95,6 @@ public final class AndroidBinaryOnlyRule implements RuleDefinition {
.cfg(HOST)
.exec()
.value(env.getToolsLabel(AndroidRuleClasses.MANIFEST_MERGE_TOOL_LABEL)))
-
- /* <!-- #BLAZE_RULE(android_binary).ATTRIBUTE(multidex) -->
- Whether to split code into multiple dex files.<br/>
- Possible values:
- <ul>
- <li><code>native</code>: Split code into multiple dex files when the dex 64K index limit
- is exceeded. Assumes native platform support for loading multidex classes at runtime.
- <em class="harmful">This works with only Android L and newer</em>.</li>
- <li><code>legacy</code>: Split code into multiple dex files when the dex 64K index limit
- is exceeded. Assumes multidex classes are loaded through application code (i.e. no
- native platform support).</li>
- <li><code>manual_main_dex</code>: Split code into multiple dex files when the dex 64K
- index limit is exceeded. The content of the main dex file needs to be specified by
- providing a list of classes in a text file using the
- <a href="${link android_binary.main_dex_list}">main_dex_list</a> attribute.</li>
- <li><code>off</code>: Compile all code to a single dex file, even if it exceeds the index
- limit.</li>
- </ul>
- <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
- .add(attr("multidex", STRING)
- .allowedValues(new AllowedValueSet(MultidexMode.getValidValues()))
- .value(MultidexMode.OFF.getAttributeValue()))
.removeAttribute("data")
.build();
}
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 9033b1a87a..e4b98f7d18 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
@@ -34,6 +34,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.packages.Attribute.AllowedValueSet;
import com.google.devtools.build.lib.packages.Attribute.LateBoundLabel;
import com.google.devtools.build.lib.packages.Attribute.SplitTransition;
import com.google.devtools.build.lib.packages.AttributeMap;
@@ -659,6 +660,27 @@ public final class AndroidRuleClasses {
.add(attr("incremental_dexing", TRISTATE)
// Read by DexArchiveAspect's attribute extractor
.nonconfigurable("AspectParameters don't support configurations."))
+ /* <!-- #BLAZE_RULE($android_binary_base).ATTRIBUTE(multidex) -->
+ Whether to split code into multiple dex files.<br/>
+ Possible values:
+ <ul>
+ <li><code>native</code>: Split code into multiple dex files when the dex 64K index limit
+ is exceeded. Assumes native platform support for loading multidex classes at runtime.
+ <em class="harmful">This works with only Android L and newer</em>.</li>
+ <li><code>legacy</code>: Split code into multiple dex files when the dex 64K index limit
+ is exceeded. Assumes multidex classes are loaded through application code (i.e. no
+ native platform support).</li>
+ <li><code>manual_main_dex</code>: Split code into multiple dex files when the dex 64K
+ index limit is exceeded. The content of the main dex file needs to be specified by
+ providing a list of classes in a text file using the
+ <a href="${link android_binary.main_dex_list}">main_dex_list</a> attribute.</li>
+ <li><code>off</code>: Compile all code to a single dex file, even if it exceeds the
+ index limit.</li>
+ </ul>
+ <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
+ .add(attr("multidex", STRING)
+ .allowedValues(new AllowedValueSet(MultidexMode.getValidValues()))
+ .value(MultidexMode.OFF.getAttributeValue()))
/* <!-- #BLAZE_RULE($android_binary_base).ATTRIBUTE(main_dex_list_opts) -->
Command line options to pass to the main dex list builder.
Use this option to affect the classes included in the main dex list.