Loading android/module.go +10 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ type ModuleContext interface { InstallInTestcases() bool InstallInSanitizerDir() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool RequiredModuleNames() []string Loading Loading @@ -196,6 +197,7 @@ type Module interface { InstallInTestcases() bool InstallInSanitizerDir() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool SkipInstall() ExportedToMake() bool Loading Loading @@ -846,6 +848,10 @@ func (m *ModuleBase) InstallInRecovery() bool { return Bool(m.commonProperties.Recovery) } func (m *ModuleBase) InstallInRoot() bool { return false } func (m *ModuleBase) InstallBypassMake() bool { return false } Loading Loading @@ -1522,6 +1528,10 @@ func (m *moduleContext) InstallInRecovery() bool { return m.module.InstallInRecovery() } func (m *moduleContext) InstallInRoot() bool { return m.module.InstallInRoot() } func (m *moduleContext) InstallBypassMake() bool { return m.module.InstallBypassMake() } Loading android/paths.go +9 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ type ModuleInstallPathContext interface { InstallInTestcases() bool InstallInSanitizerDir() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool } Loading Loading @@ -1159,8 +1160,12 @@ func modulePartition(ctx ModuleInstallPathContext) string { } else if ctx.InstallInTestcases() { partition = "testcases" } else if ctx.InstallInRecovery() { if ctx.InstallInRoot() { partition = "recovery/root" } else { // the layout of recovery partion is the same as that of system partition partition = "recovery/root/system" } } else if ctx.SocSpecific() { partition = ctx.DeviceConfig().VendorPath() } else if ctx.DeviceSpecific() { Loading @@ -1169,6 +1174,8 @@ func modulePartition(ctx ModuleInstallPathContext) string { partition = ctx.DeviceConfig().ProductPath() } else if ctx.SystemExtSpecific() { partition = ctx.DeviceConfig().SystemExtPath() } else if ctx.InstallInRoot() { partition = "root" } else { partition = "system" } Loading android/paths_test.go +39 −0 Original line number Diff line number Diff line Loading @@ -204,6 +204,7 @@ type moduleInstallPathContextImpl struct { inTestcases bool inSanitizerDir bool inRecovery bool inRoot bool } func (moduleInstallPathContextImpl) Fs() pathtools.FileSystem { Loading Loading @@ -232,6 +233,10 @@ func (m moduleInstallPathContextImpl) InstallInRecovery() bool { return m.inRecovery } func (m moduleInstallPathContextImpl) InstallInRoot() bool { return m.inRoot } func (m moduleInstallPathContextImpl) InstallBypassMake() bool { return false } Loading Loading @@ -313,6 +318,40 @@ func TestPathForModuleInstall(t *testing.T) { in: []string{"bin", "my_test"}, out: "target/product/test_device/system_ext/bin/my_test", }, { name: "root binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, }, inRoot: true, }, in: []string{"my_test"}, out: "target/product/test_device/root/my_test", }, { name: "recovery binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, }, inRecovery: true, }, in: []string{"bin/my_test"}, out: "target/product/test_device/recovery/root/system/bin/my_test", }, { name: "recovery root binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, }, inRecovery: true, inRoot: true, }, in: []string{"my_test"}, out: "target/product/test_device/recovery/root/my_test", }, { name: "system native test binary", Loading Loading
android/module.go +10 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ type ModuleContext interface { InstallInTestcases() bool InstallInSanitizerDir() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool RequiredModuleNames() []string Loading Loading @@ -196,6 +197,7 @@ type Module interface { InstallInTestcases() bool InstallInSanitizerDir() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool SkipInstall() ExportedToMake() bool Loading Loading @@ -846,6 +848,10 @@ func (m *ModuleBase) InstallInRecovery() bool { return Bool(m.commonProperties.Recovery) } func (m *ModuleBase) InstallInRoot() bool { return false } func (m *ModuleBase) InstallBypassMake() bool { return false } Loading Loading @@ -1522,6 +1528,10 @@ func (m *moduleContext) InstallInRecovery() bool { return m.module.InstallInRecovery() } func (m *moduleContext) InstallInRoot() bool { return m.module.InstallInRoot() } func (m *moduleContext) InstallBypassMake() bool { return m.module.InstallBypassMake() } Loading
android/paths.go +9 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ type ModuleInstallPathContext interface { InstallInTestcases() bool InstallInSanitizerDir() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool } Loading Loading @@ -1159,8 +1160,12 @@ func modulePartition(ctx ModuleInstallPathContext) string { } else if ctx.InstallInTestcases() { partition = "testcases" } else if ctx.InstallInRecovery() { if ctx.InstallInRoot() { partition = "recovery/root" } else { // the layout of recovery partion is the same as that of system partition partition = "recovery/root/system" } } else if ctx.SocSpecific() { partition = ctx.DeviceConfig().VendorPath() } else if ctx.DeviceSpecific() { Loading @@ -1169,6 +1174,8 @@ func modulePartition(ctx ModuleInstallPathContext) string { partition = ctx.DeviceConfig().ProductPath() } else if ctx.SystemExtSpecific() { partition = ctx.DeviceConfig().SystemExtPath() } else if ctx.InstallInRoot() { partition = "root" } else { partition = "system" } Loading
android/paths_test.go +39 −0 Original line number Diff line number Diff line Loading @@ -204,6 +204,7 @@ type moduleInstallPathContextImpl struct { inTestcases bool inSanitizerDir bool inRecovery bool inRoot bool } func (moduleInstallPathContextImpl) Fs() pathtools.FileSystem { Loading Loading @@ -232,6 +233,10 @@ func (m moduleInstallPathContextImpl) InstallInRecovery() bool { return m.inRecovery } func (m moduleInstallPathContextImpl) InstallInRoot() bool { return m.inRoot } func (m moduleInstallPathContextImpl) InstallBypassMake() bool { return false } Loading Loading @@ -313,6 +318,40 @@ func TestPathForModuleInstall(t *testing.T) { in: []string{"bin", "my_test"}, out: "target/product/test_device/system_ext/bin/my_test", }, { name: "root binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, }, inRoot: true, }, in: []string{"my_test"}, out: "target/product/test_device/root/my_test", }, { name: "recovery binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, }, inRecovery: true, }, in: []string{"bin/my_test"}, out: "target/product/test_device/recovery/root/system/bin/my_test", }, { name: "recovery root binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, }, inRecovery: true, inRoot: true, }, in: []string{"my_test"}, out: "target/product/test_device/recovery/root/my_test", }, { name: "system native test binary", Loading