Add override_apex module type

override_apex module type is used to override existing apex module with
certain properties overridden. Currently, only the 'apps' property is
overridable.

Bug: 144338929
Test: m
Change-Id: Ic050b062093cda29ce78126cc92dd6097647f7db
This commit is contained in:
Jiyong Park
2019-11-15 18:40:32 +09:00
parent c6e9f92cfa
commit 5d790c3dda
4 changed files with 110 additions and 10 deletions

View File

@@ -70,6 +70,10 @@ func (o *OverrideModuleBase) getOverrideModuleProperties() *OverrideModuleProper
return &o.moduleProperties
}
func (o *OverrideModuleBase) GetOverriddenModuleName() string {
return proptools.String(o.moduleProperties.Base)
}
func InitOverrideModule(m OverrideModule) {
m.setOverridingProperties(m.GetProperties())
@@ -147,7 +151,7 @@ func (b *OverridableModuleBase) override(ctx BaseModuleContext, o OverrideModule
for _, p := range b.overridableProperties {
for _, op := range o.getOverridingProperties() {
if proptools.TypeEqual(p, op) {
err := proptools.AppendProperties(p, op, nil)
err := proptools.ExtendProperties(p, op, nil, proptools.OrderReplace)
if err != nil {
if propertyErr, ok := err.(*proptools.ExtendPropertyError); ok {
ctx.PropertyErrorf(propertyErr.Property, "%s", propertyErr.Err.Error())