Repository navigation
Return ProguardMappingInfo from the Starlark R8 path - #565
erikackermann wants to merge 1 commit into
Conversation
|
I think this PR is an exact duplicate of #463 which seems to have hit merge conflicts due to staleness. I found these two PRs while I was looking around for an existing issue I could link to before raising yet another PR to incorporate this exact feature 😬 In this PR, we have an unhappy CI but a happy GitHub mergeability check, and in the other one, we have a happy CI but an unhappy GitHub mergeability check. I am willing to do any work to land the feature, as we currently maintain a patch of our own for this, and it seems like the same feature will also be appreciated by others. However, I am seeking guidance on how best to proceed (that is, fixing CI on this PR or fixing the merge conflicts on the other PR). |
The R8 processor already writes a proguard mapping file via --pg-map-output, but process_r8 never returned ProguardMappingInfo. android_application reads that provider from base_module to embed the mapping in AAB BUNDLE-METADATA for Play Console deobfuscation.
bb482a8 to
fcbfe0b
Compare
|
good catch, same two-line fix as #463. rebased onto current main and pushed. the red CI on the old run was from a stale branch (presubmit still had the separate Tools jobs that #567 removed), not from this change. Buildkite #4885 is green now. either PR works for us; happy to close this one if you or maintainers prefer refreshing #463 instead. |
Summary
The Starlark R8 processor writes a proguard mapping file via
--pg-map-output, butprocess_r8never returnedProguardMappingInfo.android_applicationreads that provider frombase_moduleto embed the mapping in AABBUNDLE-METADATAfor Play Console deobfuscation, so AAB builds using the R8 path shipped without the mapping.Return
ProguardMappingInfo(proguard_mapping = proguard_mappings_output_file)from the R8 providers list, matching the legacy postprocessing path inandroid_binary/impl.bzl.Test plan
android_applicationtarget with R8 enabled and confirmProguardMappingInfois present on the base moduleBUNDLE-METADATA/com.android.tools.build.obfuscation/proguard.map