From a3a05460b478ed59c527dec1c8b2efa61ce9c53c Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Fri, 5 Apr 2024 00:36:44 +0000 Subject: Revert^2 "Remove compilation actions from java sdk library" This change modifies the build actions of java_sdk_library module type so that it does not perform any compilation actions (i.e. does not create the top level java_sdk_library jar file). Instead, it delegates the build actions the top level jar file was performing to the dynamically created ".impl"-suffixed java library module. The build actions that are delegated to the impl library module include hiddenapi processing, dexing, and dexpreopt. This change relands https://r.android.com/3035972. Implementation changes from the original change: - "all_apex_contributions" is added as a dependecy to the implementation library modules where the parent sdk_library module has a prebuilt equivalent. This allows the source apex variant to be hidden from make when the prebuilt is active. Test: patch in internal main, lunch barbet-ap2a-userdebug && m nothing Test: m nothing --no-skip-soong-tests Bug: 332785297 Change-Id: I017938e5567aef82e428e7ceb557d9c9090e0257 --- java/hiddenapi_singleton.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'java/hiddenapi_singleton.go') diff --git a/java/hiddenapi_singleton.go b/java/hiddenapi_singleton.go index 8cb78cd54..7d21b7a61 100644 --- a/java/hiddenapi_singleton.go +++ b/java/hiddenapi_singleton.go @@ -150,6 +150,10 @@ func isModuleInConfiguredList(ctx android.BaseModuleContext, module android.Modu // Strip a prebuilt_ prefix so that this can match a prebuilt module that has not been renamed. name = android.RemoveOptionalPrebuiltPrefix(name) + // Strip the ".impl" suffix, so that the implementation library of the java_sdk_library is + // treated identical to the top level java_sdk_library. + name = strings.TrimSuffix(name, ".impl") + // Ignore any module that is not listed in the boot image configuration. index := configuredBootJars.IndexOfJar(name) if index == -1 { -- cgit v1.2.3-59-g8ed1b