Skip to content

Commit 19f5e93

Browse files
lberkicopybara-github
authored andcommitted
Automated rollback of commit f064184.
*** Reason for rollback *** Causes a significant performance regression in Blaze; see b/300864946 . *** Original change description *** Add an is_android option to facilitate exec toolchain selection RELNOTES:None. PiperOrigin-RevId: 566535845 Change-Id: Iaeab16348d5ea7c0e85e7e95aa4b6ceafe6a4b00
1 parent 657e01c commit 19f5e93

File tree

4 files changed

+4
-33
lines changed

4 files changed

+4
-33
lines changed

src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,19 +1108,6 @@ public static class Options extends FragmentOptions {
11081108
+ " transition` with changed options to avoid potential action conflicts.")
11091109
public boolean androidPlatformsTransitionsUpdateAffected;
11101110

1111-
@Option(
1112-
name = "is_android",
1113-
defaultValue = "false",
1114-
documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
1115-
effectTags = OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION,
1116-
help =
1117-
"This option exists for the purposes of enabling the toolchain resolution mechanism"
1118-
+ " to select a different `exec` toolchain when targeting Android. An example use"
1119-
+ " case is Rust: The Rust toolchain has a requirement that certain types of"
1120-
+ " libraries (proc-macro) that are built in `exec` mode *have* to be compiled with"
1121-
+ " the same toolchain as the libraries built in `target` mode.")
1122-
public boolean isAndroid;
1123-
11241111
@Override
11251112
public FragmentOptions getExec() {
11261113
Options exec = (Options) super.getExec();
@@ -1151,7 +1138,6 @@ public FragmentOptions getExec() {
11511138
exec.persistentBusyboxTools = persistentBusyboxTools;
11521139
exec.persistentMultiplexBusyboxTools = persistentMultiplexBusyboxTools;
11531140
exec.disableNativeAndroidRules = disableNativeAndroidRules;
1154-
exec.isAndroid = isAndroid;
11551141

11561142
// Unless the build was started from an Android device, exec means MAIN.
11571143
exec.configurationDistinguisher = ConfigurationDistinguisher.MAIN;
@@ -1208,7 +1194,6 @@ public FragmentOptions getExec() {
12081194
private final boolean hwasan;
12091195
private final boolean getJavaResourcesFromOptimizedJar;
12101196
private final boolean includeProguardLocationReferences;
1211-
private final boolean isAndroid;
12121197

12131198
public AndroidConfiguration(BuildOptions buildOptions) throws InvalidConfigurationException {
12141199
Options options = buildOptions.get(Options.class);
@@ -1270,7 +1255,6 @@ public AndroidConfiguration(BuildOptions buildOptions) throws InvalidConfigurati
12701255
this.hwasan = options.hwasan;
12711256
this.getJavaResourcesFromOptimizedJar = options.getJavaResourcesFromOptimizedJar;
12721257
this.includeProguardLocationReferences = options.includeProguardLocationReferences;
1273-
this.isAndroid = options.isAndroid;
12741258

12751259
if (incrementalDexingShardsAfterProguard < 0) {
12761260
throw new InvalidConfigurationException(
@@ -1561,10 +1545,6 @@ boolean outputLibraryMergedAssets() {
15611545
return outputLibraryMergedAssets;
15621546
}
15631547

1564-
boolean isAndroid() {
1565-
return isAndroid;
1566-
}
1567-
15681548
/** Returns the label provided with --legacy_main_dex_list_generator, if any. */
15691549
// TODO(b/147692286): Move R8's main dex list tool into tool repository.
15701550
@StarlarkConfigurationField(

src/main/java/com/google/devtools/build/lib/rules/android/AndroidPlatformsTransition.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public BuildOptions patch(BuildOptionsView options, EventHandler eventHandler) {
7474
// 2. Otherwise, leave --platforms alone (this will probably lead to build errors).
7575
if (!androidOptions.androidPlatforms.isEmpty()) {
7676
// If the current value of --platforms is not one of the values of --android_platforms, change
77-
// it to be the first one. If the current --platforms is part of --android_platforms, leave it
77+
// it to be the first one. If the curent --platforms is part of --android_platforms, leave it
7878
// as-is.
7979
// NOTE: This does not handle aliases at all, so if someone is using aliases with platform
8080
// definitions this check will break.
@@ -90,8 +90,6 @@ public BuildOptions patch(BuildOptionsView options, EventHandler eventHandler) {
9090
newOptions.get(CppOptions.class).enableCcToolchainResolution = true;
9191
}
9292

93-
newOptions.get(AndroidConfiguration.Options.class).isAndroid = true;
94-
9593
if (androidOptions.androidPlatformsTransitionsUpdateAffected) {
9694
ImmutableSet.Builder<String> affected = ImmutableSet.builder();
9795
if (!options
@@ -104,10 +102,6 @@ public BuildOptions patch(BuildOptionsView options, EventHandler eventHandler) {
104102
!= newOptions.get(CppOptions.class).enableCcToolchainResolution) {
105103
affected.add("//command_line_option:incompatible_enable_cc_toolchain_resolution");
106104
}
107-
if (options.get(AndroidConfiguration.Options.class).isAndroid
108-
!= newOptions.get(AndroidConfiguration.Options.class).isAndroid) {
109-
affected.add("//command_line_option:is_android");
110-
}
111105
FunctionTransitionUtil.updateAffectedByStarlarkTransition(
112106
newOptions.get(CoreOptions.class), affected.build());
113107
}

src/test/java/com/google/devtools/build/lib/rules/android/AndroidDataBindingV2Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ public void dataBindingAnnotationProcessorFlags_v3_4() throws Exception {
339339
(JavaCompileAction)
340340
getGeneratingAction(getFirstArtifactEndingWith(allArtifacts, "app.jar"));
341341
String dataBindingFilesDir =
342-
getConfiguration(ctapp)
342+
targetConfig
343343
.getBinDirectory(RepositoryName.MAIN)
344344
.getExecPath()
345345
.getRelative("java/android/binary/databinding/app")
@@ -1214,7 +1214,7 @@ public void dataBinding_androidLocalTest_dataBindingEnabled_usesDataBindingFlags
12141214
getGeneratingAction(
12151215
getFirstArtifactEndingWith(allArtifacts, "databinding_enabled_test-class.jar"));
12161216
String dataBindingFilesDir =
1217-
getConfiguration(testTarget)
1217+
targetConfig
12181218
.getBinDirectory(RepositoryName.MAIN)
12191219
.getExecPath()
12201220
.getRelative("javatests/android/test/databinding/databinding_enabled_test")

src/test/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationTestTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,7 @@ public void testTestExecutableRunfiles() throws Exception {
190190
.toList());
191191
assertThat(runfiles.stream().map(Artifact::toString).collect(toImmutableList()))
192192
.containsAtLeast(
193-
getDeviceFixtureScript(
194-
getDirectPrerequisite(
195-
androidInstrumentationTest.getConfiguredTarget(),
196-
"//javatests/com/app:device_fixture"))
193+
getDeviceFixtureScript(getConfiguredTarget("//javatests/com/app:device_fixture"))
197194
.toString(),
198195
getInstrumentationApk(getConfiguredTarget("//javatests/com/app:instrumentation_app"))
199196
.toString(),

0 commit comments

Comments
 (0)