Support super image size automatic calculation
If the size is set to "auto", the size will be automatically calculated
by lpmake.
Bug: 181107248
Test: boot microdroid
Change-Id: I9dd599ca64e4d442bfb83fe45b1f03080a74f1e1
diff --git a/filesystem/logical_partition.go b/filesystem/logical_partition.go
index dbbc1d8..739e609 100644
--- a/filesystem/logical_partition.go
+++ b/filesystem/logical_partition.go
@@ -40,7 +40,8 @@
// Set the name of the output. Defaults to <module_name>.img.
Stem *string
- // Total size of the logical partition
+ // Total size of the logical partition. If set to "auto", total size is automatically
+ // calcaulted as minimum.
Size *string
// List of partitions for default group. Default group has no size limit and automatically
@@ -117,9 +118,8 @@
size := proptools.String(l.properties.Size)
if size == "" {
ctx.PropertyErrorf("size", "must be set")
- }
- if _, err := strconv.Atoi(size); err != nil {
- ctx.PropertyErrorf("size", "must be a number")
+ } else if _, err := strconv.Atoi(size); err != nil && size != "auto" {
+ ctx.PropertyErrorf("size", `must be a number or "auto"`)
}
cmd.FlagWithArg("--device-size=", size)