summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Cole Faust <colefaust@google.com> 2024-08-23 16:20:58 -0700
committer Cole Faust <colefaust@google.com> 2024-08-23 16:20:58 -0700
commit52d37c32498b56117f93900cd544e7610fe16462 (patch)
tree45974da916105430c902d11c5b4ae8b161cee34c
parent079871cd55bb72337197c2782fa9fb64476b506a (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.go8
-rw-r--r--android/module_test.go1
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"},