Rewrite code to copy images to PRODUCT_OUT
Move the logic to android_device. The reasons for this are:
- As we start to check in android_device and filesystem modules,
only one set should do the copying. It's easy enough to mark the
android_device as the one, but harder for the filesystem modules
given that they may be reused between different devices and now
that top-down mutators are no longer supported.
- It's easier to manage this code in one place, especially since it's
temporary and should be removed eventually.
Having this higher confidence that there's only 1 copy rule set in
the build makes it less of a problem to use actual ninja rules for
the images.
Bug: 376727180
Test: m --soong-only && ls out/target/product/vsoc_x86_64/
Change-Id: If20ea2c55053cc962de9f9770db002edbc194835
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 9aed460..fbe9078 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -263,7 +263,9 @@
}
partitionProps.Vbmeta_partitions = vbmetaPartitions
- deviceProps := &filesystem.DeviceProperties{}
+ deviceProps := &filesystem.DeviceProperties{
+ Main_device: proptools.BoolPtr(true),
+ }
if bootloader, ok := f.createBootloaderFilegroup(ctx); ok {
deviceProps.Bootloader = proptools.StringPtr(":" + bootloader)
}
diff --git a/fsgen/vbmeta_partitions.go b/fsgen/vbmeta_partitions.go
index d146cbb..a75f59c 100644
--- a/fsgen/vbmeta_partitions.go
+++ b/fsgen/vbmeta_partitions.go
@@ -173,6 +173,7 @@
Rollback_index: ri,
Chained_partitions: chainedPartitions,
Partitions: proptools.NewSimpleConfigurable(partitionModules),
+ Partition_name: proptools.StringPtr("vbmeta"),
}, &struct {
Name *string
}{