Expose all trivial configuration attributes to Skylark.
RELNOTES: None.
PiperOrigin-RevId: 211540253
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index 90b044f..991143c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -1111,6 +1111,7 @@
this.persistentBusyboxTools = persistentBusyboxTools;
}
+ @Override
public String getCpu() {
return cpu;
}
@@ -1124,26 +1125,31 @@
return sdk;
}
+ @Override
public boolean useIncrementalNativeLibs() {
return useIncrementalNativeLibs;
}
/** Returns whether to use incremental dexing. */
+ @Override
public boolean useIncrementalDexing() {
return incrementalDexing;
}
/** Returns whether to process proguarded Android binaries with incremental dexing tools. */
+ @Override
public int incrementalDexingShardsAfterProguard() {
return incrementalDexingShardsAfterProguard;
}
/** Whether to use a separate tool to shard classes before merging them into final dex files. */
+ @Override
public boolean incrementalDexingUseDexSharder() {
return incrementalDexingUseDexSharder;
}
/** Whether to use incremental dexing to build proguarded binaries by default. */
+ @Override
public boolean incrementalDexingAfterProguardByDefault() {
return incrementalDexingAfterProguardByDefault;
}
@@ -1152,16 +1158,19 @@
* Returns true if an -assumevalues should be generated for Proguard based on the minSdkVersion of
* the merged AndroidManifest.
*/
+ @Override
public boolean assumeMinSdkVersion() {
return assumeMinSdkVersion;
}
/** dx flags supported in incremental dexing actions. */
+ @Override
public ImmutableList<String> getDexoptsSupportedInIncrementalDexing() {
return dexoptsSupportedInIncrementalDexing;
}
/** dx flags supported in dexmerger actions. */
+ @Override
public ImmutableList<String> getDexoptsSupportedInDexMerger() {
return dexoptsSupportedInDexMerger;
}
@@ -1170,27 +1179,33 @@
* Incremental dexing must not be used for binaries that list any of these flags in their {@code
* dexopts} attribute.
*/
+ @Override
public ImmutableList<String> getTargetDexoptsThatPreventIncrementalDexing() {
return targetDexoptsThatPreventIncrementalDexing;
}
/** Whether to assume the dexbuilder tool supports local worker mode. */
+ @Override
public boolean useWorkersWithDexbuilder() {
return useWorkersWithDexbuilder;
}
+ @Override
public boolean desugarJava8() {
return desugarJava8;
}
+ @Override
public boolean desugarJava8Libs() {
return desugarJava8Libs;
}
+ @Override
public boolean checkDesugarDeps() {
return checkDesugarDeps;
}
+ @Override
public boolean useRexToCompressDexFiles() {
return useRexToCompressDexFiles;
}
@@ -1200,10 +1215,12 @@
&& Whitelist.isAvailable(ruleContext, "allow_deps_without_srcs");
}
+ @Override
public boolean useAndroidResourceShrinking() {
return useAndroidResourceShrinking;
}
+ @Override
public boolean useAndroidResourceCycleShrinking() {
return useAndroidResourceCycleShrinking;
}
@@ -1220,34 +1237,42 @@
return apkSigningMethod;
}
+ @Override
public boolean useSingleJarApkBuilder() {
return useSingleJarApkBuilder;
}
+ @Override
public boolean useParallelDex2Oat() {
return useParallelDex2Oat;
}
- boolean compressJavaResources() {
+ @Override
+ public boolean compressJavaResources() {
return compressJavaResources;
}
- boolean getExportsManifestDefault() {
+ @Override
+ public boolean getExportsManifestDefault() {
return exportsManifestDefault;
}
+ @Override
public boolean useAapt2ForRobolectric() {
return useAapt2ForRobolectric;
}
- boolean throwOnResourceConflict() {
+ @Override
+ public boolean throwOnResourceConflict() {
return throwOnResourceConflict;
}
+ @Override
public boolean skipParsingAction() {
return this.skipParsingAction;
}
+ @Override
public boolean fixedResourceNeverlinking() {
return this.fixedResourceNeverlinking;
}
@@ -1256,20 +1281,24 @@
return robolectricTestDeprecationLevel;
}
+ @Override
public boolean checkForMigrationTag() {
return checkForMigrationTag;
}
+ @Override
public boolean getOneVersionEnforcementUseTransitiveJarsForBinaryUnderTest() {
return oneVersionEnforcementUseTransitiveJarsForBinaryUnderTest;
}
+ @Override
public boolean useDataBindingV2() {
return dataBindingV2;
}
- public boolean persistentBusyboxTools() {
- return persistentBusyboxTools;
+ @Override
+ public boolean persistentBusyboxTools() {
+ return persistentBusyboxTools;
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
index e7d4318..292f572 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.skylarkbuildapi.android;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
@@ -22,7 +23,7 @@
name = "android",
doc =
"Do not use this module. It is intended for migration purposes only. If you depend on it, "
- + "you will be broken when it is removed."
+ + "you will be broken when it is removed. "
+ "A configuration fragment for Android.",
documented = false,
category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
@@ -34,4 +35,183 @@
doc = "The Android target CPU.",
documented = false)
String getCpu();
+
+ @SkylarkCallable(
+ name = "use_incremental_native_libs",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useIncrementalNativeLibs();
+
+ @SkylarkCallable(
+ name = "use_incremental_dexing",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useIncrementalDexing();
+
+ @SkylarkCallable(
+ name = "incremental_dexing_shards_after_proguard",
+ structField = true,
+ doc = "",
+ documented = false)
+ int incrementalDexingShardsAfterProguard();
+
+ @SkylarkCallable(
+ name = "incremental_dexing_use_dex_sharder",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean incrementalDexingUseDexSharder();
+
+ @SkylarkCallable(
+ name = "incremental_dexing_after_proguard_by_default",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean incrementalDexingAfterProguardByDefault();
+
+ @SkylarkCallable(
+ name = "assume_min_sdk_version",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean assumeMinSdkVersion();
+
+ @SkylarkCallable(
+ name = "get_dexopts_supported_in_incremental_dexing",
+ structField = true,
+ doc = "",
+ documented = false)
+ ImmutableList<String> getDexoptsSupportedInIncrementalDexing();
+
+ @SkylarkCallable(
+ name = "get_dexopts_supported_in_dex_merger",
+ structField = true,
+ doc = "",
+ documented = false)
+ ImmutableList<String> getDexoptsSupportedInDexMerger();
+
+ @SkylarkCallable(
+ name = "get_target_dexopts_that_prevent_incremental_dexing",
+ structField = true,
+ doc = "",
+ documented = false)
+ ImmutableList<String> getTargetDexoptsThatPreventIncrementalDexing();
+
+ @SkylarkCallable(
+ name = "use_workers_with_dexbuilder",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useWorkersWithDexbuilder();
+
+ @SkylarkCallable(name = "desugar_java8", structField = true, doc = "", documented = false)
+ boolean desugarJava8();
+
+ @SkylarkCallable(name = "get_output_driecot", structField = true, doc = "", documented = false)
+ boolean desugarJava8Libs();
+
+ @SkylarkCallable(name = "check_desugar_deps", structField = true, doc = "", documented = false)
+ boolean checkDesugarDeps();
+
+ @SkylarkCallable(
+ name = "use_rex_to_compress_dex_files",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useRexToCompressDexFiles();
+
+ @SkylarkCallable(
+ name = "use_android_resource_shrinking",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useAndroidResourceShrinking();
+
+ @SkylarkCallable(
+ name = "use_android_resource_cycle_shrinking",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useAndroidResourceCycleShrinking();
+
+ @SkylarkCallable(
+ name = "use_single_jar_apk_builder",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useSingleJarApkBuilder();
+
+ @SkylarkCallable(name = "use_parallel_dex2oat", structField = true, doc = "", documented = false)
+ boolean useParallelDex2Oat();
+
+ @SkylarkCallable(
+ name = "compress_java_resources",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean compressJavaResources();
+
+ @SkylarkCallable(
+ name = "get_exports_manifest_default",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean getExportsManifestDefault();
+
+ @SkylarkCallable(
+ name = "use_aapt2_for_robolectric",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean useAapt2ForRobolectric();
+
+ @SkylarkCallable(
+ name = "throw_on_resource_conflict",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean throwOnResourceConflict();
+
+ @SkylarkCallable(name = "skip_parsing_action", structField = true, doc = "", documented = false)
+ boolean skipParsingAction();
+
+ @SkylarkCallable(
+ name = "fixed_resource_neverlinking",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean fixedResourceNeverlinking();
+
+ @SkylarkCallable(
+ name = "check_for_migration_tag",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean checkForMigrationTag();
+
+ @SkylarkCallable(
+ name = "get_one_version_enforcement_use_transitive_jars_for_binary_under_test",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean getOneVersionEnforcementUseTransitiveJarsForBinaryUnderTest();
+
+ @SkylarkCallable(name = "use_databinding_v2", structField = true, doc = "", documented = false)
+ boolean useDataBindingV2();
+
+ @SkylarkCallable(
+ name = "persistent_busybox_tools",
+ structField = true,
+ doc = "",
+ documented = false)
+ boolean persistentBusyboxTools();
+
+ @SkylarkCallable(
+ name = "get_output_directory_name",
+ structField = true,
+ doc = "",
+ documented = false)
+ String getOutputDirectoryName();
}