Change bool, and string properties to *bool, and *string for cc
there's no use case for prepending/appending to bool, and string
properties within module struct. Declearing "*bool" and "*string" almost
cover everything user need.
I did see one case that user specify relative_install_path as
path prefix in cc_defaults, and concatenate with the one in real module
to get the final relative install path in Android.bp <bionic/tests/libs>.
Test: m -j checkbuild
Bug: b/68853585
Change-Id: If3a7a2689c3fc307aae136af6bc9c57f27a1e1a0
diff --git a/android/androidmk.go b/android/androidmk.go
index 2cae1c3..19d5ea6 100644
--- a/android/androidmk.go
+++ b/android/androidmk.go
@@ -25,7 +25,6 @@
"strings"
"github.com/google/blueprint"
- "github.com/google/blueprint/proptools"
)
func init() {
@@ -77,7 +76,7 @@
sort.Sort(AndroidModulesByName{androidMkModulesList, ctx})
- transMk := PathForOutput(ctx, "Android"+proptools.String(config.ProductVariables.Make_suffix)+".mk")
+ transMk := PathForOutput(ctx, "Android"+String(config.ProductVariables.Make_suffix)+".mk")
if ctx.Failed() {
return
}
diff --git a/android/module.go b/android/module.go
index b8c9ab2..2a8837b 100644
--- a/android/module.go
+++ b/android/module.go
@@ -152,7 +152,7 @@
type nameProperties struct {
// The name of the module. Must be unique across all modules.
- Name string
+ Name *string
}
type commonProperties struct {
@@ -351,12 +351,12 @@
// Name returns the name of the module. It may be overridden by individual module types, for
// example prebuilts will prepend prebuilt_ to the name.
func (a *ModuleBase) Name() string {
- return a.nameProperties.Name
+ return String(a.nameProperties.Name)
}
// BaseModuleName returns the name of the module as specified in the blueprints file.
func (a *ModuleBase) BaseModuleName() string {
- return a.nameProperties.Name
+ return String(a.nameProperties.Name)
}
func (a *ModuleBase) base() *ModuleBase {
diff --git a/android/prebuilt.go b/android/prebuilt.go
index f29f865..d3f9704 100644
--- a/android/prebuilt.go
+++ b/android/prebuilt.go
@@ -32,7 +32,7 @@
type PrebuiltProperties struct {
// When prefer is set to true the prebuilt will be used instead of any source module with
// a matching name.
- Prefer bool `android:"arch_variant"`
+ Prefer *bool `android:"arch_variant"`
SourceExists bool `blueprint:"mutated"`
UsePrebuilt bool `blueprint:"mutated"`
@@ -146,7 +146,7 @@
}
// TODO: use p.Properties.Name and ctx.ModuleDir to override preference
- if p.properties.Prefer {
+ if Bool(p.properties.Prefer) {
return true
}