diff options
| author | 2024-02-07 00:54:43 +0000 | |
|---|---|---|
| committer | 2024-02-07 00:54:43 +0000 | |
| commit | f8c004263a41265708da3553d0fff2910faaea59 (patch) | |
| tree | 82a37fb365907c63801187c0bf73a76a063a4c7d /java/system_modules.go | |
| parent | d2e49a9261f82f90b26ec0cdad7c5bc1a8c11a46 (diff) | |
| parent | 161e468774beca6dbcedec7fbc1ac3eee6858a91 (diff) | |
Merge changes Ia899d75e,I9f885ffa into main
* changes:
Use source_module_name to determine the contents of prebuilt apexes
Support mechanism to select a specific version of module sdk prebuilt
Diffstat (limited to 'java/system_modules.go')
| -rw-r--r-- | java/system_modules.go | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/java/system_modules.go b/java/system_modules.go index f3446483b..92e31cdf9 100644 --- a/java/system_modules.go +++ b/java/system_modules.go @@ -19,6 +19,7 @@ import ( "strings" "github.com/google/blueprint" + "github.com/google/blueprint/proptools" "android/soong/android" ) @@ -210,7 +211,7 @@ func (system *SystemModules) AndroidMk() android.AndroidMkData { // type and the one to use is selected at runtime. func systemModulesImportFactory() android.Module { module := &systemModulesImport{} - module.AddProperties(&module.properties) + module.AddProperties(&module.properties, &module.prebuiltProperties) android.InitPrebuiltModule(module, &module.properties.Libs) android.InitAndroidArchModule(module, android.HostAndDeviceSupported, android.MultilibCommon) android.InitDefaultableModule(module) @@ -219,13 +220,39 @@ func systemModulesImportFactory() android.Module { type systemModulesImport struct { SystemModules - prebuilt android.Prebuilt + prebuilt android.Prebuilt + prebuiltProperties prebuiltSystemModulesProperties +} + +type prebuiltSystemModulesProperties struct { + // Name of the source soong module that gets shadowed by this prebuilt + // If unspecified, follows the naming convention that the source module of + // the prebuilt is Name() without "prebuilt_" prefix + Source_module_name *string } func (system *systemModulesImport) Name() string { return system.prebuilt.Name(system.ModuleBase.Name()) } +// BaseModuleName returns the source module that will get shadowed by this prebuilt +// e.g. +// +// java_system_modules_import { +// name: "my_system_modules.v1", +// source_module_name: "my_system_modules", +// } +// +// java_system_modules_import { +// name: "my_system_modules.v2", +// source_module_name: "my_system_modules", +// } +// +// `BaseModuleName` for both will return `my_system_modules` +func (system *systemModulesImport) BaseModuleName() string { + return proptools.StringDefault(system.prebuiltProperties.Source_module_name, system.ModuleBase.Name()) +} + func (system *systemModulesImport) Prebuilt() *android.Prebuilt { return &system.prebuilt } |