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

Commit 66e555c8 authored by yangbill's avatar yangbill
Browse files

Support BUILD_FRAMEWORK_COMPATIBILITY_MATRIX for soong

For building framework_compatibility_matrix.device.xml it will use
matrix file path from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE, and
for product_compatibility_matrix.xml it will use matrix file path from
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE.
This CL import those value from make to soong and will be used in
hardware/interfaces/compatibility_matrices/.

Also add vintf.vintfCompatibilityMatrixRule to the white list for using
custom make rule.

Bug: 352234038
Bug: 344445679
Test: m product_compatibility_matrix.xml
Change-Id: Ib7042ee2d771bd47a12f0565014b4006da678ddb
parent 0ca0dd8e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -907,6 +907,7 @@ func translateAndroidModule(ctx SingletonContext, w io.Writer, moduleInfoJSONs *
		case "*phony.PhonyRule": // writes phony deps and acts like `.PHONY`
		case "*selinux.selinuxContextsModule": // license properties written
		case "*sysprop.syspropLibrary": // license properties written
		case "*vintf.vintfCompatibilityMatrixRule": // use case like phony
		default:
			if !ctx.Config().IsEnvFalse("ANDROID_REQUIRE_LICENSES") {
				return fmt.Errorf("custom make rules not allowed for %q (%q) module %q", ctx.ModuleType(mod), reflect.TypeOf(mod), ctx.ModuleName(mod))
+16 −0
Original line number Diff line number Diff line
@@ -2089,3 +2089,19 @@ func (c *config) SystemPropFiles(ctx PathContext) Paths {
func (c *config) EnableUffdGc() string {
	return String(c.productVariables.EnableUffdGc)
}

func (c *config) DeviceFrameworkCompatibilityMatrixFile() []string {
	return c.productVariables.DeviceFrameworkCompatibilityMatrixFile
}

func (c *config) DeviceProductCompatibilityMatrixFile() []string {
	return c.productVariables.DeviceProductCompatibilityMatrixFile
}

func (c *config) BoardAvbEnable() bool {
	return Bool(c.productVariables.BoardAvbEnable)
}

func (c *config) BoardAvbSystemAddHashtreeFooterArgs() []string {
	return c.productVariables.BoardAvbSystemAddHashtreeFooterArgs
}
+5 −0
Original line number Diff line number Diff line
@@ -511,6 +511,11 @@ type ProductVariables struct {
	SystemPropFiles []string `json:",omitempty"`

	EnableUffdGc *string `json:",omitempty"`

	BoardAvbEnable                         *bool    `json:",omitempty"`
	BoardAvbSystemAddHashtreeFooterArgs    []string `json:",omitempty"`
	DeviceFrameworkCompatibilityMatrixFile []string `json:",omitempty"`
	DeviceProductCompatibilityMatrixFile   []string `json:",omitempty"`
}

type PartitionQualifiedVariablesType struct {