diff options
author | 2024-08-23 16:20:58 -0700 | |
---|---|---|
committer | 2024-08-23 16:20:58 -0700 | |
commit | 52d37c32498b56117f93900cd544e7610fe16462 (patch) | |
tree | 45974da916105430c902d11c5b4ae8b161cee34c | |
parent | 079871cd55bb72337197c2782fa9fb64476b506a (diff) |
Make the defaults property non-configurable
In order to support changing the global configuration per-module,
we can't make decisions on configuration until the configuration is
decided. The defaults mutator is one of the earliest mutators, and
it would be helpful to run it before deciding the configuration.
Bug: 361816274
Test: Presubmits
Change-Id: Iee9c603d7e2601919d636345dfdedae47448db38
-rw-r--r-- | android/defaults.go | 8 | ||||
-rw-r--r-- | android/module_test.go | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/android/defaults.go b/android/defaults.go index c0a2fc68f..0d51d9d7c 100644 --- a/android/defaults.go +++ b/android/defaults.go @@ -28,7 +28,7 @@ type defaultsDependencyTag struct { var DefaultsDepTag defaultsDependencyTag type defaultsProperties struct { - Defaults proptools.Configurable[[]string] + Defaults []string } type DefaultableModuleBase struct { @@ -278,13 +278,13 @@ func RegisterDefaultsPreArchMutators(ctx RegisterMutatorsContext) { func defaultsDepsMutator(ctx BottomUpMutatorContext) { if defaultable, ok := ctx.Module().(Defaultable); ok { - ctx.AddDependency(ctx.Module(), DefaultsDepTag, defaultable.defaults().Defaults.GetOrDefault(ctx, nil)...) + ctx.AddDependency(ctx.Module(), DefaultsDepTag, defaultable.defaults().Defaults...) } } func defaultsMutator(ctx TopDownMutatorContext) { if defaultable, ok := ctx.Module().(Defaultable); ok { - defaults := defaultable.defaults().Defaults.GetOrDefault(ctx, nil) + defaults := defaultable.defaults().Defaults if len(defaults) > 0 { var defaultsList []Defaults seen := make(map[Defaults]bool) @@ -295,7 +295,7 @@ func defaultsMutator(ctx TopDownMutatorContext) { if !seen[defaults] { seen[defaults] = true defaultsList = append(defaultsList, defaults) - return len(defaults.defaults().Defaults.GetOrDefault(ctx, nil)) > 0 + return len(defaults.defaults().Defaults) > 0 } } else { ctx.PropertyErrorf("defaults", "module %s is not an defaults module", diff --git a/android/module_test.go b/android/module_test.go index 829c07987..016fba353 100644 --- a/android/module_test.go +++ b/android/module_test.go @@ -722,6 +722,7 @@ test { propInfo{Name: "Arch.X86_64.A", Type: "string", Value: "x86_64 a"}, propInfo{Name: "B", Type: "bool", Value: "true"}, propInfo{Name: "C", Type: "string slice", Values: []string{"default_c", "c"}}, + propInfo{Name: "Defaults", Type: "string slice", Values: []string{"foo_defaults"}}, propInfo{Name: "Embedded_prop", Type: "string", Value: "a"}, propInfo{Name: "Name", Type: "string", Value: "foo"}, propInfo{Name: "Nested.E", Type: "string", Value: "nested e"}, |