Revert "Convert hardware/interfaces/compatibility_matrices/Andro..."

Revert submission 3195743-compatibility_matrix

Reason for revert: Build Break, Bug: 361227456

Reverted changes: /q/submissionid:3195743-compatibility_matrix

Change-Id: I9a0e678942694a1ea0d068de381d04e2e4b135f8
diff --git a/compatibility_matrices/build/vintf_compatibility_matrix.go b/compatibility_matrices/build/vintf_compatibility_matrix.go
index b8f2a14..c72cbde 100644
--- a/compatibility_matrices/build/vintf_compatibility_matrix.go
+++ b/compatibility_matrices/build/vintf_compatibility_matrix.go
@@ -24,7 +24,6 @@
 
 	"android/soong/android"
 	"android/soong/kernel/configs"
-	"android/soong/selinux"
 )
 
 type dependencyTag struct {
@@ -36,10 +35,10 @@
 	pctx = android.NewPackageContext("android/vintf")
 
 	assembleVintfRule = pctx.AndroidStaticRule("assemble_vintf", blueprint.RuleParams{
-		Command:     `${assembleVintfEnv} ${assembleVintfCmd} -i ${inputs} -o ${out} ${extraArgs}`,
-		CommandDeps: []string{"${assembleVintfCmd}", "${AvbToolCmd}"},
+		Command:     `${assembleVintfCmd} -i ${inputs} -o ${out}`,
+		CommandDeps: []string{"${assembleVintfCmd}"},
 		Description: "assemble_vintf -i ${inputs}",
-	}, "inputs", "extraArgs", "assembleVintfEnv")
+	}, "inputs")
 
 	xmllintXsd = pctx.AndroidStaticRule("xmllint-xsd", blueprint.RuleParams{
 		Command:     `$XmlLintCmd --quiet --schema $xsd $in > /dev/null && touch -a $out`,
@@ -53,11 +52,7 @@
 )
 
 const (
-	relpath                  = "vintf"
-	emptyManifest            = "hardware/interfaces/compatibility_matrices/manifest.empty.xml"
-	compatibilityEmptyMatrix = "hardware/interfaces/compatibility_matrices/compatibility_matrix.empty.xml"
-	deviceFcmType            = "device_fcm"
-	productFcmType           = "product_fcm"
+	relpath = "vintf"
 )
 
 type vintfCompatibilityMatrixProperties struct {
@@ -69,9 +64,6 @@
 
 	// list of kernel_config modules to be combined to final output
 	Kernel_configs []string
-
-	// Type of the FCM type, the allowed type are device_fcm and product_fcm and it should only be used under hardware/interfaces/compatibility_matrices
-	Type *string
 }
 
 type vintfCompatibilityMatrixRule struct {
@@ -80,13 +72,11 @@
 
 	genFile                android.WritablePath
 	additionalDependencies android.WritablePaths
-	phonyOnly              bool
 }
 
 func init() {
 	pctx.HostBinToolVariable("assembleVintfCmd", "assemble_vintf")
 	pctx.HostBinToolVariable("XmlLintCmd", "xmllint")
-	pctx.HostBinToolVariable("AvbToolCmd", "avbtool")
 	android.RegisterModuleType("vintf_compatibility_matrix", vintfCompatibilityMatrixFactory)
 }
 
@@ -141,20 +131,6 @@
 }
 
 func (g *vintfCompatibilityMatrixRule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
-	// Types attribute only allow `device_fcm` or `product_fcm` if set and only restricted it being used under
-	// `hardware/interfaces/compatibility_matrices` to prevent accidental external usages.
-	matrixType := proptools.String(g.properties.Type)
-	if matrixType != "" {
-		if matrixType != deviceFcmType && matrixType != productFcmType {
-			panic(fmt.Errorf("The attribute 'type' value must be either 'device_fcm' or 'product_fcm' if set!"))
-		}
-		if !strings.HasPrefix(android.PathForModuleSrc(ctx).String(), "hardware/interfaces/compatibility_matrices") {
-			panic(fmt.Errorf("Attribute type can only be set for module under `hardware/interfaces/compatibility_matrices`!"))
-		}
-		if (len(g.properties.Srcs) + len(g.properties.Kernel_configs)) > 0 {
-			panic(fmt.Errorf("Attribute 'type' and 'srcs' or 'kernel_configs' should not set simultaneously! To update inputs for this rule, edit vintf_compatibility_matrix.go directly."))
-		}
-	}
 
 	outputFilename := proptools.String(g.properties.Stem)
 	if outputFilename == "" {
@@ -182,72 +158,15 @@
 		}
 	})
 
-	// For product_compatibility_matrix.xml the source is from the product configuration
-	// DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE.
-	extraArgs := []string{}
-	if matrixType == productFcmType {
-		productMatrixs := android.PathsForSource(ctx, ctx.Config().DeviceProductCompatibilityMatrixFile())
-		if len(productMatrixs) > 0 {
-			inputPaths = append(inputPaths, productMatrixs...)
-			extraArgs = append(extraArgs, "-c", android.PathForSource(ctx, emptyManifest).String())
-		} else {
-			// For product_fcm, if DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE not set, treat it as a phony target without any output generated.
-			g.phonyOnly = true
-			return
-		}
-	}
-
-	// For framework_compatibility_matrix.device.xml the source may come from the product configuration
-	// DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE or use compatibilityEmptyMatrix if not set. We can't
-	// use a phony target because we still need to install framework_compatibility_matrix.device.xml to
-	// include sepolicy versions.
-	frameworkRuleImplicits := []android.Path{}
-
-	if matrixType == deviceFcmType {
-		frameworkMatrixs := android.PathsForSource(ctx, ctx.Config().DeviceFrameworkCompatibilityMatrixFile())
-		if len(frameworkMatrixs) > 0 {
-			inputPaths = append(inputPaths, frameworkMatrixs...)
-
-			// Generate BuildAction for generating the check manifest.
-			emptyManifestPath := android.PathForSource(ctx, emptyManifest)
-			genCheckManifest := android.PathForModuleGen(ctx, "manifest.check.xml")
-			checkManifestInputs := []android.Path{emptyManifestPath}
-			genCheckManifestEnvs := []string{
-				"BOARD_SEPOLICY_VERS=" + ctx.DeviceConfig().BoardSepolicyVers(),
-				"VINTF_IGNORE_TARGET_FCM_VERSION=true",
-			}
-
-			ctx.Build(pctx, android.BuildParams{
-				Rule:        assembleVintfRule,
-				Description: "Framework Check Manifest",
-				Implicits:   checkManifestInputs,
-				Output:      genCheckManifest,
-				Args: map[string]string{
-					"inputs":           android.PathForSource(ctx, emptyManifest).String(),
-					"extraArgs":        "",
-					"assembleVintfEnv": strings.Join(genCheckManifestEnvs, " "),
-				},
-			})
-
-			frameworkRuleImplicits = append(frameworkRuleImplicits, genCheckManifest)
-			extraArgs = append(extraArgs, "-c", genCheckManifest.String())
-		} else {
-			inputPaths = append(inputPaths, android.PathForSource(ctx, compatibilityEmptyMatrix))
-		}
-	}
-
 	g.genFile = android.PathForModuleGen(ctx, outputFilename)
-	frameworkRuleImplicits = append(frameworkRuleImplicits, inputPaths...)
 
 	ctx.Build(pctx, android.BuildParams{
 		Rule:        assembleVintfRule,
 		Description: "Framework Compatibility Matrix",
-		Implicits:   frameworkRuleImplicits,
+		Implicits:   inputPaths,
 		Output:      g.genFile,
 		Args: map[string]string{
-			"inputs":           strings.Join(inputPaths.Strings(), ":"),
-			"extraArgs":        strings.Join(extraArgs, " "),
-			"assembleVintfEnv": g.getAssembleVintfEnv(ctx),
+			"inputs": strings.Join(inputPaths.Strings(), ":"),
 		},
 	})
 	g.generateValidateBuildAction(ctx, g.genFile, schema.Path())
@@ -255,39 +174,7 @@
 	ctx.InstallFile(android.PathForModuleInstall(ctx, "etc", relpath), outputFilename, g.genFile)
 }
 
-func (g *vintfCompatibilityMatrixRule) getAssembleVintfEnv(ctx android.ModuleContext) string {
-	if proptools.String(g.properties.Type) == deviceFcmType {
-		assembleVintfEnvs := []string{
-			// POLICYVERS defined in system/sepolicy/build/soong/policy.go
-			fmt.Sprintf("POLICYVERS=%d", selinux.PolicyVers),
-			fmt.Sprintf("PLATFORM_SEPOLICY_VERSION=%s", ctx.DeviceConfig().PlatformSepolicyVersion()),
-			fmt.Sprintf("PLATFORM_SEPOLICY_COMPAT_VERSIONS=\"%s\"", strings.Join(ctx.DeviceConfig().PlatformSepolicyCompatVersions(), " ")),
-		}
-
-		if ctx.Config().BoardAvbEnable() {
-			assembleVintfEnvs = append(assembleVintfEnvs, fmt.Sprintf("FRAMEWORK_VBMETA_VERSION=\"$$(${AvbToolCmd} add_hashtree_footer --print_required_libavb_version %s)\"", strings.Join(ctx.Config().BoardAvbSystemAddHashtreeFooterArgs(), " ")))
-		} else {
-			assembleVintfEnvs = append(assembleVintfEnvs, "FRAMEWORK_VBMETA_VERSION=\"0.0\"")
-		}
-
-		return strings.Join(assembleVintfEnvs, " ")
-	}
-
-	return ""
-}
-
 func (g *vintfCompatibilityMatrixRule) AndroidMk() android.AndroidMkData {
-	if g.phonyOnly {
-		return android.AndroidMkData{
-			Custom: func(w io.Writer, name, prefix, moduleDir string, data android.AndroidMkData) {
-				fmt.Fprintln(w, "\ninclude $(CLEAR_VARS)", " # vintf.vintf_compatibility_matrix")
-				fmt.Fprintln(w, "LOCAL_PATH :=", moduleDir)
-				fmt.Fprintln(w, "LOCAL_MODULE :=", name)
-				fmt.Fprintln(w, "include $(BUILD_PHONY_PACKAGE)")
-			},
-		}
-	}
-
 	return android.AndroidMkData{
 		Class:      "ETC",
 		OutputFile: android.OptionalPathForPath(g.genFile),