Introduce additional prebuilt_* module types
Introduces prebuilt_sbin, prebuilt_system, and
prebuilt_first_stage_ramdisk module types to
support prebuilt_* module auto generation for
...:recovery/root/... PRODUCT_COPY_FILES lines.
Test: m nothing
Bug: 381888358
Change-Id: I674b64d52243add3a808c58fe55161df51e38f0f
diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go
index dd274ad..2bcbde1 100644
--- a/etc/prebuilt_etc.go
+++ b/etc/prebuilt_etc.go
@@ -82,6 +82,9 @@
ctx.RegisterModuleType("prebuilt_optee", PrebuiltOpteeFactory)
ctx.RegisterModuleType("prebuilt_tvconfig", PrebuiltTvConfigFactory)
ctx.RegisterModuleType("prebuilt_vendor", PrebuiltVendorFactory)
+ ctx.RegisterModuleType("prebuilt_sbin", PrebuiltSbinFactory)
+ ctx.RegisterModuleType("prebuilt_system", PrebuiltSystemFactory)
+ ctx.RegisterModuleType("prebuilt_first_stage_ramdisk", PrebuiltFirstStageRamdiskFactory)
ctx.RegisterModuleType("prebuilt_defaults", defaultsFactory)
@@ -574,6 +577,7 @@
p.installDirBase = dirBase
p.AddProperties(&p.properties)
p.AddProperties(&p.subdirProperties)
+ p.AddProperties(&p.rootProperties)
}
func InitPrebuiltRootModule(p *PrebuiltEtc) {
@@ -983,3 +987,33 @@
android.InitDefaultableModule(module)
return module
}
+
+// prebuilt_sbin installs files in <partition>/sbin directory.
+func PrebuiltSbinFactory() android.Module {
+ module := &PrebuiltEtc{}
+ InitPrebuiltEtcModule(module, "sbin")
+ // This module is device-only
+ android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
+ android.InitDefaultableModule(module)
+ return module
+}
+
+// prebuilt_system installs files in <partition>/system directory.
+func PrebuiltSystemFactory() android.Module {
+ module := &PrebuiltEtc{}
+ InitPrebuiltEtcModule(module, "system")
+ // This module is device-only
+ android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
+ android.InitDefaultableModule(module)
+ return module
+}
+
+// prebuilt_first_stage_ramdisk installs files in <partition>/first_stage_ramdisk directory.
+func PrebuiltFirstStageRamdiskFactory() android.Module {
+ module := &PrebuiltEtc{}
+ InitPrebuiltEtcModule(module, "first_stage_ramdisk")
+ // This module is device-only
+ android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
+ android.InitDefaultableModule(module)
+ return module
+}