Make prebuilt properties customizable
Previously whether prebuilt properties were customizable was dependent on the order of calling various inits. Test: go test soong tests Bug: 191975220 Change-Id: Icaa1fe811a5f5fc4aa5fc9fa0ec0b90debe3d537 Merged-In: Icaa1fe811a5f5fc4aa5fc9fa0ec0b90debe3d537 (cherry picked from commit 69d6413dd0a0dad94335a4b0c8e9eef5c9383b70)
This commit is contained in:
parent
ffc9ae993a
commit
b12c1404cd
|
@ -166,6 +166,7 @@ type PrebuiltSrcsSupplier func(ctx BaseModuleContext, prebuilt Module) []string
|
|||
func InitPrebuiltModuleWithSrcSupplier(module PrebuiltInterface, srcsSupplier PrebuiltSrcsSupplier, srcsPropertyName string) {
|
||||
p := module.Prebuilt()
|
||||
module.AddProperties(&p.properties)
|
||||
module.base().customizableProperties = module.GetProperties()
|
||||
|
||||
if srcsSupplier == nil {
|
||||
panic(fmt.Errorf("srcsSupplier must not be nil"))
|
||||
|
|
|
@ -259,6 +259,38 @@ var prebuiltsTests = []struct {
|
|||
}`,
|
||||
prebuilt: []OsType{Android, BuildOs},
|
||||
},
|
||||
{
|
||||
name: "prebuilt properties customizable",
|
||||
replaceBp: true,
|
||||
modules: `
|
||||
source {
|
||||
name: "foo",
|
||||
deps: [":bar"],
|
||||
}
|
||||
|
||||
soong_config_module_type {
|
||||
name: "prebuilt_with_config",
|
||||
module_type: "prebuilt",
|
||||
config_namespace: "any_namespace",
|
||||
bool_variables: ["bool_var"],
|
||||
properties: ["prefer"],
|
||||
}
|
||||
|
||||
prebuilt_with_config {
|
||||
name: "bar",
|
||||
prefer: true,
|
||||
srcs: ["prebuilt_file"],
|
||||
soong_config_variables: {
|
||||
bool_var: {
|
||||
prefer: false,
|
||||
conditions_default: {
|
||||
prefer: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}`,
|
||||
prebuilt: []OsType{Android, BuildOs},
|
||||
},
|
||||
}
|
||||
|
||||
func TestPrebuilts(t *testing.T) {
|
||||
|
@ -394,6 +426,9 @@ func registerTestPrebuiltModules(ctx RegistrationContext) {
|
|||
ctx.RegisterModuleType("prebuilt", newPrebuiltModule)
|
||||
ctx.RegisterModuleType("source", newSourceModule)
|
||||
ctx.RegisterModuleType("override_source", newOverrideSourceModule)
|
||||
ctx.RegisterModuleType("soong_config_module_type", soongConfigModuleTypeFactory)
|
||||
ctx.RegisterModuleType("soong_config_string_variable", soongConfigStringVariableDummyFactory)
|
||||
ctx.RegisterModuleType("soong_config_bool_variable", soongConfigBoolVariableDummyFactory)
|
||||
}
|
||||
|
||||
type prebuiltModule struct {
|
||||
|
|
Loading…
Reference in New Issue