diff options
Diffstat (limited to 'android')
-rw-r--r-- | android/androidmk.go | 5 | ||||
-rw-r--r-- | android/config.go | 8 | ||||
-rw-r--r-- | android/module.go | 48 | ||||
-rw-r--r-- | android/paths.go | 4 | ||||
-rw-r--r-- | android/paths_test.go | 20 | ||||
-rw-r--r-- | android/variable.go | 8 |
6 files changed, 50 insertions, 43 deletions
diff --git a/android/androidmk.go b/android/androidmk.go index 7d0aa3bd..9bc26922 100644 --- a/android/androidmk.go +++ b/android/androidmk.go @@ -216,7 +216,10 @@ func (a *AndroidMkEntries) fillInEntries(config Config, bpPath string, mod bluep } a.SetBoolIfTrue("LOCAL_ODM_MODULE", Bool(amod.commonProperties.Device_specific)) a.SetBoolIfTrue("LOCAL_PRODUCT_MODULE", Bool(amod.commonProperties.Product_specific)) - a.SetBoolIfTrue("LOCAL_PRODUCT_SERVICES_MODULE", Bool(amod.commonProperties.Product_services_specific)) + // TODO(b/135957588) product_services_specific is matched to LOCAL_PRODUCT_MODULE + // as a workaround. Remove this after clearing all Android.bp + a.SetBoolIfTrue("LOCAL_PRODUCT_MODULE", Bool(amod.commonProperties.Product_services_specific)) + a.SetBoolIfTrue("LOCAL_SYSTEM_EXT_MODULE", Bool(amod.commonProperties.System_ext_specific)) if amod.commonProperties.Owner != nil { a.SetString("LOCAL_MODULE_OWNER", *amod.commonProperties.Owner) } diff --git a/android/config.go b/android/config.go index e4012fa5..c0ed50f7 100644 --- a/android/config.go +++ b/android/config.go @@ -901,11 +901,11 @@ func (c *deviceConfig) ProductPath() string { return "product" } -func (c *deviceConfig) ProductServicesPath() string { - if c.config.productVariables.ProductServicesPath != nil { - return *c.config.productVariables.ProductServicesPath +func (c *deviceConfig) SystemExtPath() string { + if c.config.productVariables.SystemExtPath != nil { + return *c.config.productVariables.SystemExtPath } - return "product_services" + return "system_ext" } func (c *deviceConfig) BtConfigIncludeDir() string { diff --git a/android/module.go b/android/module.go index 2d4c1b59..adb9454e 100644 --- a/android/module.go +++ b/android/module.go @@ -126,7 +126,7 @@ type BaseModuleContext interface { DeviceSpecific() bool SocSpecific() bool ProductSpecific() bool - ProductServicesSpecific() bool + SystemExtSpecific() bool AConfig() Config DeviceConfig() DeviceConfig } @@ -350,11 +350,15 @@ type commonProperties struct { // /system/product if product partition does not exist). Product_specific *bool - // whether this module provides services owned by the OS provider to the core platform. When set - // to true, it is installed into /product_services (or /system/product_services if - // product_services partition does not exist). + // TODO(b/135957588) Product_services_specific will be removed once we clear all Android.bp + // files that have 'product_services_specific: true'. This will be converted to + // Product_speicific as a workaround. Product_services_specific *bool + // whether this module extends system. When set to true, it is installed into /system_ext + // (or /system/system_ext if system_ext partition does not exist). + System_ext_specific *bool + // Whether this module is installed to recovery partition Recovery *bool @@ -469,7 +473,7 @@ const ( deviceSpecificModule socSpecificModule productSpecificModule - productServicesSpecificModule + systemExtSpecificModule ) func (k moduleKind) String() string { @@ -482,8 +486,8 @@ func (k moduleKind) String() string { return "soc-specific" case productSpecificModule: return "product-specific" - case productServicesSpecificModule: - return "productservices-specific" + case systemExtSpecificModule: + return "systemext-specific" default: panic(fmt.Errorf("unknown module kind %d", k)) } @@ -738,7 +742,7 @@ func (m *ModuleBase) DeviceSupported() bool { } func (m *ModuleBase) Platform() bool { - return !m.DeviceSpecific() && !m.SocSpecific() && !m.ProductSpecific() && !m.ProductServicesSpecific() + return !m.DeviceSpecific() && !m.SocSpecific() && !m.ProductSpecific() && !m.SystemExtSpecific() } func (m *ModuleBase) DeviceSpecific() bool { @@ -753,8 +757,8 @@ func (m *ModuleBase) ProductSpecific() bool { return Bool(m.commonProperties.Product_specific) } -func (m *ModuleBase) ProductServicesSpecific() bool { - return Bool(m.commonProperties.Product_services_specific) +func (m *ModuleBase) SystemExtSpecific() bool { + return Bool(m.commonProperties.System_ext_specific) } func (m *ModuleBase) Enabled() bool { @@ -875,7 +879,7 @@ func determineModuleKind(m *ModuleBase, ctx blueprint.BaseModuleContext) moduleK var socSpecific = Bool(m.commonProperties.Vendor) || Bool(m.commonProperties.Proprietary) || Bool(m.commonProperties.Soc_specific) var deviceSpecific = Bool(m.commonProperties.Device_specific) var productSpecific = Bool(m.commonProperties.Product_specific) - var productServicesSpecific = Bool(m.commonProperties.Product_services_specific) + var systemExtSpecific = Bool(m.commonProperties.System_ext_specific) msg := "conflicting value set here" if socSpecific && deviceSpecific { @@ -891,16 +895,16 @@ func determineModuleKind(m *ModuleBase, ctx blueprint.BaseModuleContext) moduleK } } - if productSpecific && productServicesSpecific { - ctx.PropertyErrorf("product_specific", "a module cannot be specific to product and product_services at the same time.") - ctx.PropertyErrorf("product_services_specific", msg) + if productSpecific && systemExtSpecific { + ctx.PropertyErrorf("product_specific", "a module cannot be specific to product and system_ext at the same time.") + ctx.PropertyErrorf("system_ext_specific", msg) } - if (socSpecific || deviceSpecific) && (productSpecific || productServicesSpecific) { + if (socSpecific || deviceSpecific) && (productSpecific || systemExtSpecific) { if productSpecific { ctx.PropertyErrorf("product_specific", "a module cannot be specific to SoC or device and product at the same time.") } else { - ctx.PropertyErrorf("product_services_specific", "a module cannot be specific to SoC or device and product_services at the same time.") + ctx.PropertyErrorf("system_ext_specific", "a module cannot be specific to SoC or device and system_ext at the same time.") } if deviceSpecific { ctx.PropertyErrorf("device_specific", msg) @@ -919,8 +923,8 @@ func determineModuleKind(m *ModuleBase, ctx blueprint.BaseModuleContext) moduleK if productSpecific { return productSpecificModule - } else if productServicesSpecific { - return productServicesSpecificModule + } else if systemExtSpecific { + return systemExtSpecificModule } else if deviceSpecific { return deviceSpecificModule } else if socSpecific { @@ -1433,18 +1437,18 @@ func (b *baseModuleContext) ProductSpecific() bool { return b.kind == productSpecificModule } -func (b *baseModuleContext) ProductServicesSpecific() bool { - return b.kind == productServicesSpecificModule +func (b *baseModuleContext) SystemExtSpecific() bool { + return b.kind == systemExtSpecificModule } // Makes this module a platform module, i.e. not specific to soc, device, -// product, or product_services. +// product, or system_ext. func (m *ModuleBase) MakeAsPlatform() { m.commonProperties.Vendor = boolPtr(false) m.commonProperties.Proprietary = boolPtr(false) m.commonProperties.Soc_specific = boolPtr(false) m.commonProperties.Product_specific = boolPtr(false) - m.commonProperties.Product_services_specific = boolPtr(false) + m.commonProperties.System_ext_specific = boolPtr(false) } func (m *ModuleBase) EnableNativeBridgeSupportByDefault() { diff --git a/android/paths.go b/android/paths.go index 20b8b823..0ea44473 100644 --- a/android/paths.go +++ b/android/paths.go @@ -1145,8 +1145,8 @@ func modulePartition(ctx ModuleInstallPathContext) string { partition = ctx.DeviceConfig().OdmPath() } else if ctx.ProductSpecific() { partition = ctx.DeviceConfig().ProductPath() - } else if ctx.ProductServicesSpecific() { - partition = ctx.DeviceConfig().ProductServicesPath() + } else if ctx.SystemExtSpecific() { + partition = ctx.DeviceConfig().SystemExtPath() } else { partition = "system" } diff --git a/android/paths_test.go b/android/paths_test.go index 7bcfe41d..8286e9a3 100644 --- a/android/paths_test.go +++ b/android/paths_test.go @@ -294,15 +294,15 @@ func TestPathForModuleInstall(t *testing.T) { out: "target/product/test_device/product/bin/my_test", }, { - name: "product_services binary", + name: "system_ext binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, }, in: []string{"bin", "my_test"}, - out: "target/product/test_device/product_services/bin/my_test", + out: "target/product/test_device/system_ext/bin/my_test", }, { @@ -354,11 +354,11 @@ func TestPathForModuleInstall(t *testing.T) { }, { - name: "product_services native test binary", + name: "system_ext native test binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, inData: true, }, @@ -415,16 +415,16 @@ func TestPathForModuleInstall(t *testing.T) { }, { - name: "sanitized product_services binary", + name: "sanitized system_ext binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, inSanitizerDir: true, }, in: []string{"bin", "my_test"}, - out: "target/product/test_device/data/asan/product_services/bin/my_test", + out: "target/product/test_device/data/asan/system_ext/bin/my_test", }, { @@ -479,11 +479,11 @@ func TestPathForModuleInstall(t *testing.T) { out: "target/product/test_device/data/asan/data/nativetest/my_test", }, { - name: "sanitized product_services native test binary", + name: "sanitized system_ext native test binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, inData: true, inSanitizerDir: true, diff --git a/android/variable.go b/android/variable.go index b4f31c61..fcd92d45 100644 --- a/android/variable.go +++ b/android/variable.go @@ -232,10 +232,10 @@ type productVariables struct { EnableXOM *bool `json:",omitempty"` XOMExcludePaths []string `json:",omitempty"` - VendorPath *string `json:",omitempty"` - OdmPath *string `json:",omitempty"` - ProductPath *string `json:",omitempty"` - ProductServicesPath *string `json:",omitempty"` + VendorPath *string `json:",omitempty"` + OdmPath *string `json:",omitempty"` + ProductPath *string `json:",omitempty"` + SystemExtPath *string `json:",omitempty"` ClangTidy *bool `json:",omitempty"` TidyChecks *string `json:",omitempty"` |