Merge "Update select tests for optionals" into main
diff --git a/android/packaging_test.go b/android/packaging_test.go
index 89df8ef..19b46fe 100644
--- a/android/packaging_test.go
+++ b/android/packaging_test.go
@@ -15,7 +15,6 @@
package android
import (
- "fmt"
"strings"
"testing"
@@ -648,7 +647,6 @@
}
bp := strings.Replace(bpTemplate, "%COMPILE_MULTILIB%", tc.compileMultilib, -1)
bp = strings.Replace(bp, "%DEPS%", `["`+strings.Join(tc.deps, `", "`)+`"]`, -1)
- fmt.Printf("bp = %s\n", bp)
runPackagingTest(t, config, bp, tc.expected)
}
}
diff --git a/android/selects_test.go b/android/selects_test.go
index 26e3ec5..42a8941 100644
--- a/android/selects_test.go
+++ b/android/selects_test.go
@@ -688,6 +688,29 @@
`,
expectedError: `can't assign select statement to non-configurable property "my_nonconfigurable_string_list"`,
},
+ {
+ name: "Select in variable",
+ bp: `
+ my_second_variable = ["after.cpp"]
+ my_variable = select(soong_config_variable("my_namespace", "my_variable"), {
+ "a": ["a.cpp"],
+ "b": ["b.cpp"],
+ default: ["c.cpp"],
+ }) + my_second_variable
+ my_module_type {
+ name: "foo",
+ my_string_list: ["before.cpp"] + my_variable,
+ }
+ `,
+ provider: selectsTestProvider{
+ my_string_list: &[]string{"before.cpp", "a.cpp", "after.cpp"},
+ },
+ vendorVars: map[string]map[string]string{
+ "my_namespace": {
+ "my_variable": "a",
+ },
+ },
+ },
}
for _, tc := range testCases {
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index 8b71e85..d2572c2 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -106,7 +106,7 @@
Base_dir *string
// Directories to be created under root. e.g. /dev, /proc, etc.
- Dirs []string
+ Dirs proptools.Configurable[[]string]
// Symbolic links to be created under root with "ln -sf <target> <name>".
Symlinks []symlinkDefinition
@@ -243,7 +243,7 @@
// already in `rootDir`.
func (f *filesystem) buildNonDepsFiles(ctx android.ModuleContext, builder *android.RuleBuilder, rootDir android.OutputPath) {
// create dirs and symlinks
- for _, dir := range f.properties.Dirs {
+ for _, dir := range f.properties.Dirs.GetOrDefault(ctx, nil) {
// OutputPath.Join verifies dir
builder.Command().Text("mkdir -p").Text(rootDir.Join(ctx, dir).String())
}
diff --git a/java/app.go b/java/app.go
index ea72157..d2f2d0b 100644
--- a/java/app.go
+++ b/java/app.go
@@ -1284,6 +1284,11 @@
Manifest: proptools.StringPtr(":" + rroManifestName),
Resource_dirs: a.aaptProperties.Resource_dirs,
}
+ if !Bool(a.aaptProperties.Aapt_include_all_resources) {
+ for _, aaptConfig := range ctx.Config().ProductAAPTConfig() {
+ rroProperties.Aaptflags = append(rroProperties.Aaptflags, "-c", aaptConfig)
+ }
+ }
ctx.CreateModule(RuntimeResourceOverlayFactory, &rroProperties)
})