AndroidMkEntries minor refactoring.

This includes a few changes that make AndroidMkEntries more resemble
AndroidMkData, especially in terms of how extra entries are added.
Most importantly it can now have multiple custom functions.

Test: Soong tests
Change-Id: Ibf9102624d16d0c1c9894a2794fc7c797bb34c9a
This commit is contained in:
Jaewoong Jung
2019-08-27 17:33:16 -07:00
parent 21738f6032
commit e0dc8dfd22
6 changed files with 60 additions and 47 deletions

View File

@@ -614,18 +614,20 @@ func (a *AndroidAppImport) AndroidMkEntries() android.AndroidMkEntries {
Class: "APPS",
OutputFile: android.OptionalPathForPath(a.outputFile),
Include: "$(BUILD_SYSTEM)/soong_app_prebuilt.mk",
AddCustomEntries: func(name, prefix, moduleDir string, entries *android.AndroidMkEntries) {
entries.SetBoolIfTrue("LOCAL_PRIVILEGED_MODULE", Bool(a.properties.Privileged))
if a.certificate != nil {
entries.SetString("LOCAL_CERTIFICATE", a.certificate.Pem.String())
} else {
entries.SetString("LOCAL_CERTIFICATE", "PRESIGNED")
}
entries.AddStrings("LOCAL_OVERRIDES_PACKAGES", a.properties.Overrides...)
if len(a.dexpreopter.builtInstalled) > 0 {
entries.SetString("LOCAL_SOONG_BUILT_INSTALLED", a.dexpreopter.builtInstalled)
}
entries.AddStrings("LOCAL_INSTALLED_MODULE_STEM", a.installPath.Rel())
ExtraEntries: []android.AndroidMkExtraEntriesFunc{
func(entries *android.AndroidMkEntries) {
entries.SetBoolIfTrue("LOCAL_PRIVILEGED_MODULE", Bool(a.properties.Privileged))
if a.certificate != nil {
entries.SetString("LOCAL_CERTIFICATE", a.certificate.Pem.String())
} else {
entries.SetString("LOCAL_CERTIFICATE", "PRESIGNED")
}
entries.AddStrings("LOCAL_OVERRIDES_PACKAGES", a.properties.Overrides...)
if len(a.dexpreopter.builtInstalled) > 0 {
entries.SetString("LOCAL_SOONG_BUILT_INSTALLED", a.dexpreopter.builtInstalled)
}
entries.AddStrings("LOCAL_INSTALLED_MODULE_STEM", a.installPath.Rel())
},
},
}
}

View File

@@ -77,9 +77,11 @@ func (p *platformCompatConfig) AndroidMkEntries() android.AndroidMkEntries {
Class: "ETC",
OutputFile: android.OptionalPathForPath(p.configFile),
Include: "$(BUILD_PREBUILT)",
AddCustomEntries: func(name, prefix, moduleDir string, entries *android.AndroidMkEntries) {
entries.SetString("LOCAL_MODULE_PATH", "$(OUT_DIR)/"+p.installDirPath.RelPathString())
entries.SetString("LOCAL_INSTALLED_MODULE_STEM", p.configFile.Base())
ExtraEntries: []android.AndroidMkExtraEntriesFunc{
func(entries *android.AndroidMkEntries) {
entries.SetString("LOCAL_MODULE_PATH", "$(OUT_DIR)/"+p.installDirPath.RelPathString())
entries.SetString("LOCAL_INSTALLED_MODULE_STEM", p.configFile.Base())
},
},
}
}