Introduce prebuilt_vendor module type
prebuilt_vendor installs the file under `<partition>/vendor`
directory. The module is used for prebuilt_* auto generation in fsgen,
and is neverallowed so that the module cannot be used in Android.bp
files.
Test: m nothing
Bug: 381888358
Change-Id: Id5fe3f5435437da7806067be99c21c4d55a91e97
diff --git a/android/neverallow.go b/android/neverallow.go
index 7f7ffa7..5575879 100644
--- a/android/neverallow.go
+++ b/android/neverallow.go
@@ -341,6 +341,7 @@
"prebuilt_tvservice",
"prebuilt_optee",
"prebuilt_tvconfig",
+ "prebuilt_vendor",
).
DefinedInBpFile().
Because("module type not allowed to be defined in bp file")
diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go
index b0b5da9..dd274ad 100644
--- a/etc/prebuilt_etc.go
+++ b/etc/prebuilt_etc.go
@@ -81,6 +81,7 @@
ctx.RegisterModuleType("prebuilt_tvservice", PrebuiltTvServiceFactory)
ctx.RegisterModuleType("prebuilt_optee", PrebuiltOpteeFactory)
ctx.RegisterModuleType("prebuilt_tvconfig", PrebuiltTvConfigFactory)
+ ctx.RegisterModuleType("prebuilt_vendor", PrebuiltVendorFactory)
ctx.RegisterModuleType("prebuilt_defaults", defaultsFactory)
@@ -972,3 +973,13 @@
android.InitDefaultableModule(module)
return module
}
+
+// prebuilt_vendor installs files in <partition>/vendor directory.
+func PrebuiltVendorFactory() android.Module {
+ module := &PrebuiltEtc{}
+ InitPrebuiltEtcModule(module, "vendor")
+ // This module is device-only
+ android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
+ android.InitDefaultableModule(module)
+ return module
+}
diff --git a/fsgen/prebuilt_etc_modules_gen.go b/fsgen/prebuilt_etc_modules_gen.go
index efbc462..f217744 100644
--- a/fsgen/prebuilt_etc_modules_gen.go
+++ b/fsgen/prebuilt_etc_modules_gen.go
@@ -207,6 +207,7 @@
"usr/keychars": etc.PrebuiltUserKeyCharsFactory,
"usr/srec": etc.PrebuiltUserSrecFactory,
"usr/idc": etc.PrebuiltUserIdcFactory,
+ "vendor": etc.PrebuiltVendorFactory,
"vendor_dlkm": etc.PrebuiltVendorDlkmFactory,
"wallpaper": etc.PrebuiltWallpaperFactory,
"wlc_upt": etc.PrebuiltWlcUptFactory,