Skip to content

Commit 4cfa883

Browse files
ajsinclaircopybara-github
authored andcommitted
Use the bootclasspath JAR from the Java toolchain instead of the Android SDK JAR in optimizer actions.
The booclasspath JAR for Android includes the classes from the Android SDK JAR and other classes found on the Android bootclasspath. PiperOrigin-RevId: 686682749 Change-Id: I8408adc3a650aecfd0a2132c30bdf76e9bc62375
1 parent 846364a commit 4cfa883

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

rules/android_binary/impl.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ def _process_dex(ctx, validation_ctx, packaged_resources_ctx, deploy_ctx, bp_ctx
391391

392392
java8_legacy_dex, java8_legacy_dex_map = _dex.get_java8_legacy_dex_and_map(
393393
ctx,
394-
android_jar = get_android_sdk(ctx).android_jar,
394+
bootclasspath_jar = utils.only(common.get_java_toolchain(ctx)[java_common.JavaToolchainInfo].bootclasspath.to_list()),
395395
binary_jar = binary_jar,
396396
build_customized_files = is_binary_optimized,
397397
min_sdk_version = _min_sdk_version.clamp(ctx.attr.min_sdk_version),

rules/dex.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ def _get_effective_incremental_dexing(
544544
# use_incremental_dexing config flag will take effect if incremental_dexing attr is not set
545545
return use_incremental_dexing
546546

547-
def _get_java8_legacy_dex_and_map(ctx, build_customized_files = False, binary_jar = None, android_jar = None, min_sdk_version = 0):
547+
def _get_java8_legacy_dex_and_map(ctx, build_customized_files = False, binary_jar = None, bootclasspath_jar = None, min_sdk_version = 0):
548548
if not build_customized_files:
549549
# TODO(b/329432231): Can we build this for each Android binary or generate one per minSdkVersion at least?
550550
return utils.only(get_android_toolchain(ctx).java8_legacy_dex.files.to_list()), None
@@ -556,15 +556,15 @@ def _get_java8_legacy_dex_and_map(ctx, build_customized_files = False, binary_ja
556556
args = ctx.actions.args()
557557
args.add("--rules", java8_legacy_dex_rules)
558558
args.add("--binary", binary_jar)
559-
args.add("--android_jar", android_jar)
559+
args.add("--android_jar", bootclasspath_jar)
560560
args.add("--output", java8_legacy_dex)
561561
args.add("--output_map", java8_legacy_dex_map)
562562
if min_sdk_version:
563563
args.add("--min-api", min_sdk_version)
564564

565565
ctx.actions.run(
566566
executable = get_android_toolchain(ctx).build_java8_legacy_dex.files_to_run,
567-
inputs = [binary_jar, android_jar],
567+
inputs = [binary_jar, bootclasspath_jar],
568568
outputs = [java8_legacy_dex_rules, java8_legacy_dex_map, java8_legacy_dex],
569569
arguments = [args],
570570
mnemonic = "BuildLegacyDex",

rules/proguard.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ load(":android_neverlink_aspect.bzl", "StarlarkAndroidNeverlinkInfo")
1919
load(":baseline_profiles.bzl", _baseline_profiles = "baseline_profiles")
2020
load(":common.bzl", "common")
2121
load(":java.bzl", "java")
22-
load(":utils.bzl", "ANDROID_TOOLCHAIN_TYPE", "get_android_sdk", "utils")
22+
load(":utils.bzl", "ANDROID_TOOLCHAIN_TYPE", "utils")
2323

2424
visibility(PROJECT_VISIBILITY)
2525

@@ -440,7 +440,7 @@ def _apply_proguard(
440440
proguard_usage,
441441
)
442442

443-
library_jar_list = [get_android_sdk(ctx).android_jar]
443+
library_jar_list = [utils.only(common.get_java_toolchain(ctx)[java_common.JavaToolchainInfo].bootclasspath.to_list())]
444444
if ctx.fragments.android.desugar_java8:
445445
library_jar_list.append(ctx.file._desugared_java8_legacy_apis)
446446
neverlink_infos = utils.collect_providers(StarlarkAndroidNeverlinkInfo, ctx.attr.deps)

0 commit comments

Comments
 (0)