summaryrefslogtreecommitdiff
path: root/apex/apex.go
diff options
context:
space:
mode:
author Jihoon Kang <jihoonkang@google.com> 2024-04-05 00:36:44 +0000
committer Jihoon Kang <jihoonkang@google.com> 2024-05-08 17:46:31 +0000
commita3a05460b478ed59c527dec1c8b2efa61ce9c53c (patch)
tree2211be9cc3edca98e2b9b1b368687ddada164661 /apex/apex.go
parent248cc0072c71de6b778b82d9ebe4c7fb6bf82bdc (diff)
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
Diffstat (limited to 'apex/apex.go')
-rw-r--r--apex/apex.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/apex/apex.go b/apex/apex.go
index cb8449c5a..2e7fbf6ac 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1672,7 +1672,13 @@ func apexFileForJavaModuleWithFile(ctx android.BaseModuleContext, module javaMod
af.jacocoReportClassesFile = module.JacocoReportClassesFile()
af.lintDepSets = module.LintDepSets()
af.customStem = module.Stem() + ".jar"
- if dexpreopter, ok := module.(java.DexpreopterInterface); ok {
+ // TODO: b/338641779 - Remove special casing of sdkLibrary once bcpf and sscpf depends
+ // on the implementation library
+ if sdkLib, ok := module.(*java.SdkLibrary); ok {
+ for _, install := range sdkLib.BuiltInstalledForApex() {
+ af.requiredModuleNames = append(af.requiredModuleNames, install.FullModuleName())
+ }
+ } else if dexpreopter, ok := module.(java.DexpreopterInterface); ok {
for _, install := range dexpreopter.DexpreoptBuiltInstalledForApex() {
af.requiredModuleNames = append(af.requiredModuleNames, install.FullModuleName())
}