Generate product partition filesystem module in filesystem_creator
Bug: 374388294
Test: CI
Change-Id: I02786d0e9bf1a43a3527b647d5379d35e489076c
diff --git a/android/config.go b/android/config.go
index b70f6ac..686e861 100644
--- a/android/config.go
+++ b/android/config.go
@@ -1558,6 +1558,10 @@
return "product"
}
+func (c *deviceConfig) BuildingProductImage() bool {
+ return proptools.Bool(c.config.productVariables.BuildingProductImage)
+}
+
func (c *deviceConfig) SystemExtPath() string {
if c.config.productVariables.SystemExtPath != nil {
return *c.config.productVariables.SystemExtPath
diff --git a/android/variable.go b/android/variable.go
index f7392d1..13d5f05 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -337,11 +337,12 @@
HWASanIncludePaths []string `json:",omitempty"`
HWASanExcludePaths []string `json:",omitempty"`
- VendorPath *string `json:",omitempty"`
- BuildingVendorImage *bool `json:",omitempty"`
- OdmPath *string `json:",omitempty"`
- ProductPath *string `json:",omitempty"`
- SystemExtPath *string `json:",omitempty"`
+ VendorPath *string `json:",omitempty"`
+ BuildingVendorImage *bool `json:",omitempty"`
+ OdmPath *string `json:",omitempty"`
+ ProductPath *string `json:",omitempty"`
+ BuildingProductImage *bool `json:",omitempty"`
+ SystemExtPath *string `json:",omitempty"`
ClangTidy *bool `json:",omitempty"`
TidyChecks *string `json:",omitempty"`
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index ab89114..fde344b 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -104,6 +104,9 @@
if ctx.DeviceConfig().BuildingVendorImage() && ctx.DeviceConfig().VendorPath() == "vendor" {
generatedPartitions = append(generatedPartitions, "vendor")
}
+ if ctx.DeviceConfig().BuildingProductImage() && ctx.DeviceConfig().ProductPath() == "product" {
+ generatedPartitions = append(generatedPartitions, "product")
+ }
return &FsGenState{
depCandidates: candidates,
@@ -346,6 +349,9 @@
if android.InList("vendor", f.properties.Generated_partition_types) {
partitionProps.Vendor_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "vendor"))
}
+ if android.InList("product", f.properties.Generated_partition_types) {
+ partitionProps.Product_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "product"))
+ }
ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps)
}