Automatically add system and system_ext autogen RRO to vendor/product
This CL creates a dependency edge from vendor/product to system and
system_ext. A post deps mutator will walk the transitive closure and add
the corresponding autogenerated RROs to deps.
Bug: 374371755
Bug: 375277835
Test: m soong_generated_vendor_filesystem_test
NOTICE is the last diff
Change-Id: Iffe64174a0d639dc224505a08eccd0a1dedc9f39
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 8325b1e..46e9323 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -205,7 +205,7 @@
ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps)
}
-func partitionSpecificFsProps(fsProps *filesystem.FilesystemProperties, partitionVars android.PartitionVariables, partitionType string) {
+func partitionSpecificFsProps(ctx android.EarlyModuleContext, fsProps *filesystem.FilesystemProperties, partitionVars android.PartitionVariables, partitionType string) {
switch partitionType {
case "system":
fsProps.Build_logtags = proptools.BoolPtr(true)
@@ -356,6 +356,10 @@
fsProps.Fsverity.Libs = []string{":framework-res{.export-package.apk}"}
case "product":
fsProps.Gen_aconfig_flags_pb = proptools.BoolPtr(true)
+ fsProps.Android_filesystem_deps.System = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system"))
+ if ctx.DeviceConfig().SystemExtPath() == "system_ext" {
+ fsProps.Android_filesystem_deps.System_ext = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system_ext"))
+ }
case "vendor":
fsProps.Gen_aconfig_flags_pb = proptools.BoolPtr(true)
fsProps.Symlinks = []filesystem.SymlinkDefinition{
@@ -368,6 +372,10 @@
Name: proptools.StringPtr("vendor/lib/modules"),
},
}
+ fsProps.Android_filesystem_deps.System = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system"))
+ if ctx.DeviceConfig().SystemExtPath() == "system_ext" {
+ fsProps.Android_filesystem_deps.System_ext = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system_ext"))
+ }
case "odm":
fsProps.Symlinks = []filesystem.SymlinkDefinition{
filesystem.SymlinkDefinition{
@@ -711,7 +719,7 @@
fsProps.Is_auto_generated = proptools.BoolPtr(true)
- partitionSpecificFsProps(fsProps, partitionVars, partitionType)
+ partitionSpecificFsProps(ctx, fsProps, partitionVars, partitionType)
// system_image properties that are not set:
// - filesystemProperties.Avb_hash_algorithm