Autogenerate a vendor-build.prop for the current product
The autogenerated soong vendor.img will use the autogenerated soong
vendor-build.prop module. The autogenerated vendor-build.prop module is
missing support for `android-info.txt` which is an additional input as
--prop-files. Support for that will be added in a followup CL.
Test: verified that autogenerated vendor.img for aosp_cf_x86_64_phone
contains a build.prop file, and its contents are equivalent to kati
built vendor build.prop file
Bug: 375500423
Change-Id: I46b3c2e7cf44300820dcd2f7a9799ad11730691e
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 39572d4..766176d 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -139,8 +139,9 @@
"update_engine_sideload": defaultDepCandidateProps(ctx.Config()),
},
"vendor": &map[string]*depCandidateProps{
- "fs_config_files_vendor": defaultDepCandidateProps(ctx.Config()),
- "fs_config_dirs_vendor": defaultDepCandidateProps(ctx.Config()),
+ "fs_config_files_vendor": defaultDepCandidateProps(ctx.Config()),
+ "fs_config_dirs_vendor": defaultDepCandidateProps(ctx.Config()),
+ generatedModuleName(ctx.Config(), "vendor-build.prop"): defaultDepCandidateProps(ctx.Config()),
},
"odm": newMultilibDeps(),
"product": newMultilibDeps(),
@@ -481,6 +482,25 @@
module = ctx.CreateModule(filesystem.FilesystemFactory, baseProps, fsProps)
}
module.HideFromMake()
+ if partitionType == "vendor" {
+ // Create a build prop for vendor
+ vendorBuildProps := &struct {
+ Name *string
+ Vendor *bool
+ Stem *string
+ Product_config *string
+ }{
+ Name: proptools.StringPtr(generatedModuleName(ctx.Config(), "vendor-build.prop")),
+ Vendor: proptools.BoolPtr(true),
+ Stem: proptools.StringPtr("build.prop"),
+ Product_config: proptools.StringPtr(":product_config"),
+ }
+ vendorBuildProp := ctx.CreateModule(
+ android.BuildPropFactory,
+ vendorBuildProps,
+ )
+ vendorBuildProp.HideFromMake()
+ }
return true
}