diff options
author | 2019-02-28 16:22:30 +0000 | |
---|---|---|
committer | 2019-02-28 16:22:30 +0000 | |
commit | acb6db331bca698a806114f3de0fe8a04cdb5938 (patch) | |
tree | 2d4e4b6b56231815a7e00471146b77c01c4e5236 /android/override_module.go | |
parent | aa65e17016152d0d73cd10ab3987bc3bd5c2ef91 (diff) |
Revert "Add override_module."
This reverts commit aa65e17016152d0d73cd10ab3987bc3bd5c2ef91.
Reason for revert: Not compatible with PRODUCT_PACKAGES, and so has very limited use.
Change-Id: Ib141d3984a6f12bb50989e66037494c466b066f1
Diffstat (limited to 'android/override_module.go')
-rw-r--r-- | android/override_module.go | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/android/override_module.go b/android/override_module.go deleted file mode 100644 index 9fe5f2182..000000000 --- a/android/override_module.go +++ /dev/null @@ -1,97 +0,0 @@ -package android - -import ( - "github.com/google/blueprint/proptools" - "sync" -) - -func init() { - RegisterModuleType("override_module", OverrideModuleFactory) -} - -type OverrideModule struct { - ModuleBase - properties OverrideModuleProperties -} - -type OverrideModuleProperties struct { - // base module to override - Base *string - - // file path or module name (in the form ":module") of a certificate to override with - Certificate *string - - // manifest package name to override with - Manifest_package_name *string -} - -// TODO(jungjw): Work with the mainline team to see if we can deprecate all PRODUCT_*_OVERRIDES vars -// and hand over overriding values directly to base module code. -func processOverrides(ctx LoadHookContext, p *OverrideModuleProperties) { - base := proptools.String(p.Base) - if base == "" { - ctx.PropertyErrorf("base", "base module name must be provided") - } - - config := ctx.DeviceConfig() - if other, loaded := config.moduleNameOverrides().LoadOrStore(base, ctx.ModuleName()); loaded { - ctx.ModuleErrorf("multiple overriding modules for %q, the other: %q", base, other.(string)) - } - - if p.Certificate != nil { - config.certificateOverrides().Store(base, *p.Certificate) - } - - if p.Manifest_package_name != nil { - config.manifestPackageNameOverrides().Store(base, *p.Manifest_package_name) - } -} - -func (i *OverrideModule) DepsMutator(ctx BottomUpMutatorContext) { - base := *i.properties.Base - // Right now, we add a dependency only to check the base module exists, and so are not using a tag here. - // TODO(jungjw): Add a tag and check the base module type once we finalize supported base module types. - ctx.AddDependency(ctx.Module(), nil, base) -} - -func (i *OverrideModule) GenerateAndroidBuildActions(ctx ModuleContext) { - // All the overrides happen in the base module. - // TODO(jungjw): Check the base module type. -} - -// override_module overrides an existing module with the specified properties. -// -// Currently, only android_app is officially supported. -func OverrideModuleFactory() Module { - m := &OverrideModule{} - AddLoadHook(m, func(ctx LoadHookContext) { - processOverrides(ctx, &m.properties) - }) - m.AddProperties(&m.properties) - InitAndroidModule(m) - return m -} - -var moduleNameOverridesKey = NewOnceKey("moduleNameOverrides") - -func (c *deviceConfig) moduleNameOverrides() *sync.Map { - return c.Once(moduleNameOverridesKey, func() interface{} { - return &sync.Map{} - }).(*sync.Map) -} - -var certificateOverridesKey = NewOnceKey("certificateOverrides") - -func (c *deviceConfig) certificateOverrides() *sync.Map { - return c.Once(certificateOverridesKey, func() interface{} { - return &sync.Map{} - }).(*sync.Map) -} - -var manifestPackageNameOverridesKey = NewOnceKey("manifestPackageNameOverrides") - -func (c *deviceConfig) manifestPackageNameOverrides() *sync.Map { - return c.Once(manifestPackageNameOverridesKey, func() interface{} { - return &sync.Map{} - }).(*sync.Map) -} |