Do not replace the direct edge between rdeps and java_sdk_library
android/prebuilt.go#isSelected has a special-case inside it to ignore apex_contributions contents for the top-level java_sdk_library hook. This was necessary because even though we might want source stubs in next builds, we still needed the top-level prebuilt hook to be active to emit the dexpreopt rules to .mk. This worked fine for rdeps that create a dependency edge on the child stub modules of java_sdk_library. Notable examples include the full android api stubs created by f/b/api.go. In postdeps mutator, these expanded deps get rewritten to source/prebuilt if necesssry. The exception to this are workflows which depend on the top-level hook directly via `libs`. We resolve these rdeps to an appropriate provider during GenerateAndroidBuildActions stage. This meant that rdeps were getting prebuilt stubs of these even in next builds. Bug: 323454855 Test: Added a unit test Test: lunch cf_x86_64_only_phone-next-userdebug Test: aninja -t query out/soong/.intermediates/packages/modules/Permission/SafetyCenter/Config/safety-center-config/android_common/javac/safety-center-config.jar | grep prebilts/module_sdk # empty now Change-Id: Id91333d88055519f3c58ab40466f9628085f5180
Loading
Please register or sign in to comment