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) {
|
func InitPrebuiltModuleWithSrcSupplier(module PrebuiltInterface, srcsSupplier PrebuiltSrcsSupplier, srcsPropertyName string) {
|
||||||
p := module.Prebuilt()
|
p := module.Prebuilt()
|
||||||
module.AddProperties(&p.properties)
|
module.AddProperties(&p.properties)
|
||||||
|
module.base().customizableProperties = module.GetProperties()
|
||||||
|
|
||||||
if srcsSupplier == nil {
|
if srcsSupplier == nil {
|
||||||
panic(fmt.Errorf("srcsSupplier must not be nil"))
|
panic(fmt.Errorf("srcsSupplier must not be nil"))
|
||||||
|
|
|
@ -259,6 +259,38 @@ var prebuiltsTests = []struct {
|
||||||
}`,
|
}`,
|
||||||
prebuilt: []OsType{Android, BuildOs},
|
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) {
|
func TestPrebuilts(t *testing.T) {
|
||||||
|
@ -394,6 +426,9 @@ func registerTestPrebuiltModules(ctx RegistrationContext) {
|
||||||
ctx.RegisterModuleType("prebuilt", newPrebuiltModule)
|
ctx.RegisterModuleType("prebuilt", newPrebuiltModule)
|
||||||
ctx.RegisterModuleType("source", newSourceModule)
|
ctx.RegisterModuleType("source", newSourceModule)
|
||||||
ctx.RegisterModuleType("override_source", newOverrideSourceModule)
|
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 {
|
type prebuiltModule struct {
|
||||||
|
|
Loading…
Reference in New Issue