Loading android/arch.go +1 −1 Original line number Diff line number Diff line Loading @@ -665,7 +665,7 @@ func archMutator(bpctx blueprint.BottomUpMutatorContext) { } // only the primary arch in the ramdisk / vendor_ramdisk / recovery partition if os == Android && (module.InstallInRecovery() || module.InstallInRamdisk() || module.InstallInVendorRamdisk()) { if os == Android && (module.InstallInRecovery() || module.InstallInRamdisk() || module.InstallInVendorRamdisk() || module.InstallInDebugRamdisk()) { osTargets = []Target{osTargets[0]} } Loading android/image.go +10 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,10 @@ type ImageInterface interface { // vendor ramdisk partition). VendorRamdiskVariantNeeded(ctx BaseModuleContext) bool // DebugRamdiskVariantNeeded should return true if the module needs a debug ramdisk variant (installed on the // debug ramdisk partition: $(PRODUCT_OUT)/debug_ramdisk). DebugRamdiskVariantNeeded(ctx BaseModuleContext) bool // RecoveryVariantNeeded should return true if the module needs a recovery variant (installed on the // recovery partition). RecoveryVariantNeeded(ctx BaseModuleContext) bool Loading Loading @@ -60,6 +64,9 @@ const ( // VendorRamdiskVariation means a module to be installed to vendor ramdisk image. VendorRamdiskVariation string = "vendor_ramdisk" // DebugRamdiskVariation means a module to be installed to debug ramdisk image. DebugRamdiskVariation string = "debug_ramdisk" ) // imageMutator creates variants for modules that implement the ImageInterface that Loading @@ -83,6 +90,9 @@ func imageMutator(ctx BottomUpMutatorContext) { if m.VendorRamdiskVariantNeeded(ctx) { variations = append(variations, VendorRamdiskVariation) } if m.DebugRamdiskVariantNeeded(ctx) { variations = append(variations, DebugRamdiskVariation) } if m.RecoveryVariantNeeded(ctx) { variations = append(variations, RecoveryVariation) } Loading android/module.go +17 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,7 @@ type ModuleContext interface { InstallInSanitizerDir() bool InstallInRamdisk() bool InstallInVendorRamdisk() bool InstallInDebugRamdisk() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool Loading Loading @@ -450,6 +451,7 @@ type Module interface { InstallInSanitizerDir() bool InstallInRamdisk() bool InstallInVendorRamdisk() bool InstallInDebugRamdisk() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool Loading Loading @@ -753,6 +755,9 @@ type commonProperties struct { // Whether this module is installed to vendor ramdisk Vendor_ramdisk *bool // Whether this module is installed to debug ramdisk Debug_ramdisk *bool // Whether this module is built for non-native architectures (also known as native bridge binary) Native_bridge_supported *bool `android:"arch_variant"` Loading Loading @@ -1540,6 +1545,10 @@ func (m *ModuleBase) InstallInVendorRamdisk() bool { return Bool(m.commonProperties.Vendor_ramdisk) } func (m *ModuleBase) InstallInDebugRamdisk() bool { return Bool(m.commonProperties.Debug_ramdisk) } func (m *ModuleBase) InstallInRecovery() bool { return Bool(m.commonProperties.Recovery) } Loading Loading @@ -1593,6 +1602,10 @@ func (m *ModuleBase) InVendorRamdisk() bool { return m.base().commonProperties.ImageVariation == VendorRamdiskVariation } func (m *ModuleBase) InDebugRamdisk() bool { return m.base().commonProperties.ImageVariation == DebugRamdiskVariation } func (m *ModuleBase) InRecovery() bool { return m.base().commonProperties.ImageVariation == RecoveryVariation } Loading Loading @@ -2576,6 +2589,10 @@ func (m *moduleContext) InstallInVendorRamdisk() bool { return m.module.InstallInVendorRamdisk() } func (m *moduleContext) InstallInDebugRamdisk() bool { return m.module.InstallInDebugRamdisk() } func (m *moduleContext) InstallInRecovery() bool { return m.module.InstallInRecovery() } Loading android/paths.go +8 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ type ModuleInstallPathContext interface { InstallInSanitizerDir() bool InstallInRamdisk() bool InstallInVendorRamdisk() bool InstallInDebugRamdisk() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool Loading Loading @@ -1689,6 +1690,8 @@ func modulePartition(ctx ModuleInstallPathContext, os OsType) string { if !ctx.InstallInRoot() { partition += "/system" } } else if ctx.InstallInDebugRamdisk() { partition = "debug_ramdisk" } else if ctx.InstallInRecovery() { if ctx.InstallInRoot() { partition = "recovery/root" Loading Loading @@ -1859,6 +1862,7 @@ type testModuleInstallPathContext struct { inSanitizerDir bool inRamdisk bool inVendorRamdisk bool inDebugRamdisk bool inRecovery bool inRoot bool forceOS *OsType Loading Loading @@ -1891,6 +1895,10 @@ func (m testModuleInstallPathContext) InstallInVendorRamdisk() bool { return m.inVendorRamdisk } func (m testModuleInstallPathContext) InstallInDebugRamdisk() bool { return m.inDebugRamdisk } func (m testModuleInstallPathContext) InstallInRecovery() bool { return m.inRecovery } Loading android/paths_test.go +13 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,19 @@ func TestPathForModuleInstall(t *testing.T) { out: "target/product/test_device/vendor_ramdisk/my_test", partitionDir: "target/product/test_device/vendor_ramdisk", }, { name: "debug_ramdisk binary", ctx: &testModuleInstallPathContext{ baseModuleContext: baseModuleContext{ os: deviceTarget.Os, target: deviceTarget, }, inDebugRamdisk: true, }, in: []string{"my_test"}, out: "target/product/test_device/debug_ramdisk/my_test", partitionDir: "target/product/test_device/debug_ramdisk", }, { name: "system native test binary", ctx: &testModuleInstallPathContext{ Loading Loading
android/arch.go +1 −1 Original line number Diff line number Diff line Loading @@ -665,7 +665,7 @@ func archMutator(bpctx blueprint.BottomUpMutatorContext) { } // only the primary arch in the ramdisk / vendor_ramdisk / recovery partition if os == Android && (module.InstallInRecovery() || module.InstallInRamdisk() || module.InstallInVendorRamdisk()) { if os == Android && (module.InstallInRecovery() || module.InstallInRamdisk() || module.InstallInVendorRamdisk() || module.InstallInDebugRamdisk()) { osTargets = []Target{osTargets[0]} } Loading
android/image.go +10 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,10 @@ type ImageInterface interface { // vendor ramdisk partition). VendorRamdiskVariantNeeded(ctx BaseModuleContext) bool // DebugRamdiskVariantNeeded should return true if the module needs a debug ramdisk variant (installed on the // debug ramdisk partition: $(PRODUCT_OUT)/debug_ramdisk). DebugRamdiskVariantNeeded(ctx BaseModuleContext) bool // RecoveryVariantNeeded should return true if the module needs a recovery variant (installed on the // recovery partition). RecoveryVariantNeeded(ctx BaseModuleContext) bool Loading Loading @@ -60,6 +64,9 @@ const ( // VendorRamdiskVariation means a module to be installed to vendor ramdisk image. VendorRamdiskVariation string = "vendor_ramdisk" // DebugRamdiskVariation means a module to be installed to debug ramdisk image. DebugRamdiskVariation string = "debug_ramdisk" ) // imageMutator creates variants for modules that implement the ImageInterface that Loading @@ -83,6 +90,9 @@ func imageMutator(ctx BottomUpMutatorContext) { if m.VendorRamdiskVariantNeeded(ctx) { variations = append(variations, VendorRamdiskVariation) } if m.DebugRamdiskVariantNeeded(ctx) { variations = append(variations, DebugRamdiskVariation) } if m.RecoveryVariantNeeded(ctx) { variations = append(variations, RecoveryVariation) } Loading
android/module.go +17 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,7 @@ type ModuleContext interface { InstallInSanitizerDir() bool InstallInRamdisk() bool InstallInVendorRamdisk() bool InstallInDebugRamdisk() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool Loading Loading @@ -450,6 +451,7 @@ type Module interface { InstallInSanitizerDir() bool InstallInRamdisk() bool InstallInVendorRamdisk() bool InstallInDebugRamdisk() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool Loading Loading @@ -753,6 +755,9 @@ type commonProperties struct { // Whether this module is installed to vendor ramdisk Vendor_ramdisk *bool // Whether this module is installed to debug ramdisk Debug_ramdisk *bool // Whether this module is built for non-native architectures (also known as native bridge binary) Native_bridge_supported *bool `android:"arch_variant"` Loading Loading @@ -1540,6 +1545,10 @@ func (m *ModuleBase) InstallInVendorRamdisk() bool { return Bool(m.commonProperties.Vendor_ramdisk) } func (m *ModuleBase) InstallInDebugRamdisk() bool { return Bool(m.commonProperties.Debug_ramdisk) } func (m *ModuleBase) InstallInRecovery() bool { return Bool(m.commonProperties.Recovery) } Loading Loading @@ -1593,6 +1602,10 @@ func (m *ModuleBase) InVendorRamdisk() bool { return m.base().commonProperties.ImageVariation == VendorRamdiskVariation } func (m *ModuleBase) InDebugRamdisk() bool { return m.base().commonProperties.ImageVariation == DebugRamdiskVariation } func (m *ModuleBase) InRecovery() bool { return m.base().commonProperties.ImageVariation == RecoveryVariation } Loading Loading @@ -2576,6 +2589,10 @@ func (m *moduleContext) InstallInVendorRamdisk() bool { return m.module.InstallInVendorRamdisk() } func (m *moduleContext) InstallInDebugRamdisk() bool { return m.module.InstallInDebugRamdisk() } func (m *moduleContext) InstallInRecovery() bool { return m.module.InstallInRecovery() } Loading
android/paths.go +8 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ type ModuleInstallPathContext interface { InstallInSanitizerDir() bool InstallInRamdisk() bool InstallInVendorRamdisk() bool InstallInDebugRamdisk() bool InstallInRecovery() bool InstallInRoot() bool InstallBypassMake() bool Loading Loading @@ -1689,6 +1690,8 @@ func modulePartition(ctx ModuleInstallPathContext, os OsType) string { if !ctx.InstallInRoot() { partition += "/system" } } else if ctx.InstallInDebugRamdisk() { partition = "debug_ramdisk" } else if ctx.InstallInRecovery() { if ctx.InstallInRoot() { partition = "recovery/root" Loading Loading @@ -1859,6 +1862,7 @@ type testModuleInstallPathContext struct { inSanitizerDir bool inRamdisk bool inVendorRamdisk bool inDebugRamdisk bool inRecovery bool inRoot bool forceOS *OsType Loading Loading @@ -1891,6 +1895,10 @@ func (m testModuleInstallPathContext) InstallInVendorRamdisk() bool { return m.inVendorRamdisk } func (m testModuleInstallPathContext) InstallInDebugRamdisk() bool { return m.inDebugRamdisk } func (m testModuleInstallPathContext) InstallInRecovery() bool { return m.inRecovery } Loading
android/paths_test.go +13 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,19 @@ func TestPathForModuleInstall(t *testing.T) { out: "target/product/test_device/vendor_ramdisk/my_test", partitionDir: "target/product/test_device/vendor_ramdisk", }, { name: "debug_ramdisk binary", ctx: &testModuleInstallPathContext{ baseModuleContext: baseModuleContext{ os: deviceTarget.Os, target: deviceTarget, }, inDebugRamdisk: true, }, in: []string{"my_test"}, out: "target/product/test_device/debug_ramdisk/my_test", partitionDir: "target/product/test_device/debug_ramdisk", }, { name: "system native test binary", ctx: &testModuleInstallPathContext{ Loading