Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f263710 authored by Seungjae Yoo's avatar Seungjae Yoo
Browse files

Support adding AVB properties into vbmeta module

Bug: 285855436
Test: m

Change-Id: I5b0e14783ac927365dd98718bf399e94ab76aa13
parent 5876a785
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -63,6 +63,17 @@ type vbmetaProperties struct {

	// List of chained partitions that this vbmeta deletages the verification.
	Chained_partitions []chainedPartitionProperties

	// List of key-value pair of avb properties
	Avb_properties []avbProperty
}

type avbProperty struct {
	// Key of given avb property
	Key *string

	// Value of given avb property
	Value *string
}

type chainedPartitionProperties struct {
@@ -135,6 +146,20 @@ func (v *vbmeta) GenerateAndroidBuildActions(ctx android.ModuleContext) {
	}
	cmd.FlagWithArg("--rollback_index_location ", strconv.Itoa(ril))

	for _, avb_prop := range v.properties.Avb_properties {
		key := proptools.String(avb_prop.Key)
		if key == "" {
			ctx.PropertyErrorf("avb_properties", "key must be specified")
			continue
		}
		value := proptools.String(avb_prop.Value)
		if value == "" {
			ctx.PropertyErrorf("avb_properties", "value must be specified")
			continue
		}
		cmd.FlagWithArg("--prop ", key+":"+value)
	}

	for _, p := range ctx.GetDirectDepsWithTag(vbmetaPartitionDep) {
		f, ok := p.(Filesystem)
		if !ok {