Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
It is a list of <module_name>:<manifest_name> pairs. When the module name of an APK or an APEX matches with <module_name>, then its app manifest name is overridden to <manifest_name>. <module_name> and <manifest_name> can be patterns as in com.android.%:com.mycompany.android.%.release Note that, in case of APEXes, the manifest name refers to the name of the zip container. The apex manifest name (which is specified in apex_manifest.json) is not overridden. Test: m with PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES for 1) an APK in Android.mk 2) an APK in ANdroid.bp 3) an APEX and check that manifest names are modified as specified Change-Id: Ie58882d90884695e893944c43d9c8803b283e93d
This commit is contained in:
@@ -862,6 +862,24 @@ func (c *deviceConfig) PlatPrivateSepolicyDirs() []string {
|
||||
return c.config.productVariables.BoardPlatPrivateSepolicyDirs
|
||||
}
|
||||
|
||||
func (c *deviceConfig) OverrideManifestPackageNameFor(name string) (manifestName string, overridden bool) {
|
||||
overrides := c.config.productVariables.ManifestPackageNameOverrides
|
||||
if overrides == nil || len(overrides) == 0 {
|
||||
return "", false
|
||||
}
|
||||
for _, o := range overrides {
|
||||
split := strings.Split(o, ":")
|
||||
if len(split) != 2 {
|
||||
// This shouldn't happen as this is first checked in make, but just in case.
|
||||
panic(fmt.Errorf("invalid override rule %q in PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES should be <module_name>:<manifest_name>", o))
|
||||
}
|
||||
if matchPattern(split[0], name) {
|
||||
return substPattern(split[0], split[1], name), true
|
||||
}
|
||||
}
|
||||
return "", false
|
||||
}
|
||||
|
||||
func (c *config) SecondArchIsTranslated() bool {
|
||||
deviceTargets := c.Targets[Android]
|
||||
if len(deviceTargets) < 2 {
|
||||
|
Reference in New Issue
Block a user