summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jihoon Kang <jihoonkang@google.com> 2024-12-02 19:14:30 +0000
committer Jihoon Kang <jihoonkang@google.com> 2024-12-02 23:27:28 +0000
commit3ca07a1e43ee1f910c0f0e6872d0703e5c39e9a5 (patch)
treeb36c4d30857477ed59c7b94b8f96654fce0ff83f
parent3216c986a9c1002c0240093dd25b203b289d22db (diff)
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
-rw-r--r--android/neverallow.go1
-rw-r--r--etc/prebuilt_etc.go11
-rw-r--r--fsgen/prebuilt_etc_modules_gen.go1
3 files changed, 13 insertions, 0 deletions
diff --git a/android/neverallow.go b/android/neverallow.go
index 7f7ffa781..55758796b 100644
--- a/android/neverallow.go
+++ b/android/neverallow.go
@@ -341,6 +341,7 @@ func createPrebuiltEtcBpDefineRule() Rule {
"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 b0b5da946..dd274ad88 100644
--- a/etc/prebuilt_etc.go
+++ b/etc/prebuilt_etc.go
@@ -81,6 +81,7 @@ func RegisterPrebuiltEtcBuildComponents(ctx android.RegistrationContext) {
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 @@ func PrebuiltTvConfigFactory() android.Module {
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 efbc462e1..f21774443 100644
--- a/fsgen/prebuilt_etc_modules_gen.go
+++ b/fsgen/prebuilt_etc_modules_gen.go
@@ -207,6 +207,7 @@ var (
"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,