Skip to content

Commit 149dcaf

Browse files
timpeutcopybara-github
authored andcommitted
Automated rollback of commit e969130.
PiperOrigin-RevId: 936906229 Change-Id: Ic9a2cca7b8f3f37b9b48f1b25da23808ff2da97c
1 parent 2cd03fa commit 149dcaf

8 files changed

Lines changed: 8 additions & 67 deletions

File tree

rules/android_binary/attrs.bzl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,6 @@ ATTRS = _attrs.replace(
262262
_attrs.DATA_CONTEXT,
263263
_attrs.ANDROID_TOOLCHAIN_ATTRS,
264264
_attrs.AUTOMATIC_EXEC_GROUPS_ENABLED,
265-
_attrs.FLAGS_ATTRS,
266265
),
267266
# TODO(b/167599192): don't override manifest attr to remove .xml file restriction.
268267
manifest = attr.label(

rules/android_binary/impl.bzl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ load(
4646
"utils",
4747
)
4848
load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
49-
load("//rules/flags:flags.bzl", "read_possibly_native_flag", _flags = "flags")
49+
load("//rules/flags:flags.bzl", _flags = "flags")
5050
load("@rules_java//java/common:java_common.bzl", "java_common")
5151
load("@rules_java//java/common:java_info.bzl", "JavaInfo")
5252
load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo")
@@ -292,14 +292,14 @@ def _process_dex(ctx, validation_ctx, packaged_resources_ctx, manifest_ctx, depl
292292
if proguard_output_map:
293293
# Proguard map from preprocessing will be merged with Proguard map for desugared
294294
# library.
295-
if should_optimize_dex and read_possibly_native_flag(ctx, "desugar_java8_libs"):
295+
if should_optimize_dex and ctx.fragments.android.desugar_java8_libs:
296296
postprocessing_output_map = _dex.get_dx_artifact(ctx, "_proguard_output_for_desugared_library.map")
297297
final_proguard_output_map = ctx.actions.declare_file(ctx.label.name + "_proguard.map")
298298
elif should_optimize_dex:
299299
# No desugared library, Proguard map from postprocessing is the final Proguard map.
300300
postprocessing_output_map = ctx.actions.declare_file(ctx.label.name + "_proguard.map")
301301
final_proguard_output_map = postprocessing_output_map
302-
elif read_possibly_native_flag(ctx, "desugar_java8_libs"):
302+
elif ctx.fragments.android.desugar_java8_libs:
303303
# No postprocessing, Proguard map from merging with the desugared library map is the
304304
# final Proguard map.
305305
postprocessing_output_map = proguard_output_map
@@ -357,7 +357,7 @@ def _process_dex(ctx, validation_ctx, packaged_resources_ctx, manifest_ctx, depl
357357
toolchain_type = ANDROID_TOOLCHAIN_TYPE,
358358
)
359359

360-
if read_possibly_native_flag(ctx, "desugar_java8_libs") and classes_dex_zip.extension == "zip":
360+
if ctx.fragments.android.desugar_java8_libs and classes_dex_zip.extension == "zip":
361361
final_classes_dex_zip = _dex.get_dx_artifact(ctx, "final_classes_dex.zip")
362362

363363
java8_legacy_dex, java8_legacy_dex_map = _dex.get_java8_legacy_dex_and_map(

rules/android_binary/r8.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ load(
3434
"utils",
3535
)
3636
load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
37-
load("//rules/flags:flags.bzl", "read_possibly_native_flag", _flags = "flags")
37+
load("//rules/flags:flags.bzl", _flags = "flags")
3838

3939
visibility(PROJECT_VISIBILITY)
4040

@@ -129,7 +129,7 @@ def process_r8(ctx, validation_ctx, jvm_ctx, packaged_resources_ctx, build_info_
129129
args.add("--pg-map-output", proguard_mappings_output_file)
130130

131131
r8_inputs = [android_jar, deploy_jar] + proguard_specs
132-
if read_possibly_native_flag(ctx, "desugar_java8_libs") and desugared_lib_config:
132+
if ctx.fragments.android.desugar_java8_libs and desugared_lib_config:
133133
args.add("--desugared-lib", desugared_lib_config)
134134
r8_inputs.append(desugared_lib_config)
135135

@@ -149,7 +149,7 @@ def process_r8(ctx, validation_ctx, jvm_ctx, packaged_resources_ctx, build_info_
149149
# backport references, but does NOT include the j$.* implementation classes
150150
# in its output. Append the prebuilt desugared library DEX so the j$.*
151151
# classes are available at runtime.
152-
if read_possibly_native_flag(ctx, "desugar_java8_libs") and desugared_lib_config:
152+
if ctx.fragments.android.desugar_java8_libs and desugared_lib_config:
153153
final_classes_dex_zip = ctx.actions.declare_file(ctx.label.name + "_final_dexes.zip")
154154
java8_legacy_dex = utils.only(
155155
get_android_toolchain(ctx).java8_legacy_dex.files.to_list(),

rules/attrs.bzl

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -312,9 +312,6 @@ ANDROID_BINARY_ATTRS = _add(
312312
_desugared_java8_legacy_apis = attr.label(
313313
default = Label("//tools/android:desugared_java8_legacy_apis"),
314314
),
315-
_desugar_java8_libs = attr.label(
316-
default = Label("//rules/flags:desugar_java8_libs"),
317-
),
318315
_dexbuilder = attr.label(
319316
cfg = "exec",
320317
default = Label("//tools/android:dexbuilder"),
@@ -511,12 +508,6 @@ _AUTOMATIC_EXEC_GROUPS_ENABLED = dict(
511508
_use_auto_exec_groups = attr.bool(default = True),
512509
)
513510

514-
_FLAGS_ATTRS = dict(
515-
_desugar_java8_libs = attr.label(
516-
default = Label("//rules/flags:desugar_java8_libs"),
517-
),
518-
)
519-
520511
attrs = struct(
521512
ANDROID_SDK = _ANDROID_SDK,
522513
compilation_attributes = _compilation_attributes,
@@ -527,5 +518,4 @@ attrs = struct(
527518
add = _add,
528519
replace = _replace,
529520
AUTOMATIC_EXEC_GROUPS_ENABLED = _AUTOMATIC_EXEC_GROUPS_ENABLED,
530-
FLAGS_ATTRS = _FLAGS_ATTRS,
531521
)

rules/desugar.bzl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
"""Bazel Desugar Commands."""
1515

1616
load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
17-
load("//rules/flags:flags.bzl", "read_possibly_native_flag")
1817

1918
visibility(PROJECT_VISIBILITY)
2019

@@ -57,7 +56,7 @@ def _desugar(
5756
input_file_deps = [input]
5857
if library_desugaring:
5958
args.add("--emit_dependency_metadata_as_needed")
60-
if read_possibly_native_flag(ctx, "desugar_java8_libs"):
59+
if ctx.fragments.android.desugar_java8_libs:
6160
args.add("--desugar_supported_core_libs")
6261

6362
# Unconditionally add --desugared_lib_config. This matches the behavior of tools/android/d8_desugar.sh.

rules/dex_desugar_aspect.bzl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,6 @@ dex_desugar_aspect = aspect(
296296
},
297297
_attrs.ANDROID_SDK,
298298
_min_sdk_version.attrs,
299-
_attrs.FLAGS_ATTRS,
300299
),
301300
fragments = ["android"],
302301
toolchains = [

rules/flags/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ bzl_library(
2828
visibility = ["//:__subpackages__"],
2929
deps = [
3030
"//rules:visibility_bzl",
31-
"@bazel_features//:features",
3231
"@bazel_skylib//rules:common_settings",
3332
],
3433
)

rules/flags/flags.bzl

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313
# limitations under the License.
1414
"""Bazel Flags."""
1515

16-
load("@bazel_features//private:util.bzl", "lt") # buildifier: disable=bzl-visibility
1716
load("//rules:utils.bzl", "utils")
1817
load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
19-
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
2018

2119
visibility(PROJECT_VISIBILITY)
2220

@@ -189,49 +187,6 @@ def _get_flags(ctx):
189187
return flags[FlagsInfo]
190188
return flags[0][FlagsInfo]
191189

192-
_POSSIBLY_NATIVE_FLAGS = {
193-
"desugar_java8_libs": (lambda ctx: ctx.fragments.android.desugar_java8_libs, "native"),
194-
}
195-
196-
def read_possibly_native_flag(ctx, flag_name):
197-
"""
198-
Canonical API for reading a Android build flag.
199-
200-
Flags might be defined in Starlark or native-Bazel. This function reads flags
201-
from the correct source based on supporting Bazel version and --incompatible*
202-
flags that disable native references.
203-
204-
Args:
205-
ctx: Rule's configuration context.
206-
flag_name: Name of the flag to read, without preceding "--".
207-
208-
Returns:
209-
The flag's value.
210-
"""
211-
212-
# Bazel 9.1+ can disable these fragments with --incompatible_remove_ctx_android_fragment.
213-
# Disabling them means bazel expects Android to read Starlark flags.
214-
use_native_def = hasattr(ctx.fragments, "android")
215-
216-
# Developer override to force the Starlark definition for testing.
217-
# This would allow us to migrate flags gradually from native to Starlark with flag aliases.
218-
if _POSSIBLY_NATIVE_FLAGS[flag_name][1] == "starlark":
219-
use_native_def = False
220-
221-
if lt("9.1.0"):
222-
use_native_def = True
223-
224-
if use_native_def:
225-
return _POSSIBLY_NATIVE_FLAGS[flag_name][0](ctx)
226-
else:
227-
# Starlark definition of "--foo" is assumed to be a label dependency named "_foo".
228-
if hasattr(ctx.attr, "_" + flag_name):
229-
return getattr(ctx.attr, "_" + flag_name)[BuildSettingInfo].value
230-
elif hasattr(ctx.fragments, "android"):
231-
return _POSSIBLY_NATIVE_FLAGS[flag_name][0](ctx)
232-
233-
fail("Unable to read flag value for " + flag_name)
234-
235190
flags = struct(
236191
DEFINE_bool = bool_flag,
237192
DEFINE_bool_group = bool_flag_group,

0 commit comments

Comments
 (0)