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

Commit 6a144edd authored by Usta (Tsering) Shrestha's avatar Usta (Tsering) Shrestha Committed by Automerger Merge Worker
Browse files

Merge "soong_build cmline args validation" am: 28b5ac6d

parents 2751df5c 28b5ac6d
Loading
Loading
Loading
Loading
+26 −20
Original line number Diff line number Diff line
@@ -521,27 +521,33 @@ func NewConfig(cmdArgs CmdArgs, availableEnv map[string]string) (Config, error)
		config.AndroidFirstDeviceTarget = FirstTarget(config.Targets[Android], "lib64", "lib32")[0]
	}

	if cmdArgs.SymlinkForestMarker != "" {
		config.BuildMode = SymlinkForest
	} else if cmdArgs.Bp2buildMarker != "" {
		config.BuildMode = Bp2build
	} else if cmdArgs.BazelQueryViewDir != "" {
		config.BuildMode = GenerateQueryView
	} else if cmdArgs.BazelApiBp2buildDir != "" {
		config.BuildMode = ApiBp2build
	} else if cmdArgs.ModuleGraphFile != "" {
		config.BuildMode = GenerateModuleGraph
	} else if cmdArgs.DocFile != "" {
		config.BuildMode = GenerateDocFile
	} else if cmdArgs.BazelModeDev {
		config.BuildMode = BazelDevMode
	} else if cmdArgs.BazelMode {
		config.BuildMode = BazelProdMode
	} else if cmdArgs.BazelModeStaging {
		config.BuildMode = BazelStagingMode
	} else {
		config.BuildMode = AnalysisNoBazel
	setBuildMode := func(arg string, mode SoongBuildMode) {
		if arg != "" {
			if config.BuildMode != AnalysisNoBazel {
				fmt.Fprintf(os.Stderr, "buildMode is already set, illegal argument: %s", arg)
				os.Exit(1)
			}
			config.BuildMode = mode
		}
	}
	setBazelMode := func(arg bool, argName string, mode SoongBuildMode) {
		if arg {
			if config.BuildMode != AnalysisNoBazel {
				fmt.Fprintf(os.Stderr, "buildMode is already set, illegal argument: %s", argName)
				os.Exit(1)
			}
			config.BuildMode = mode
		}
	}
	setBuildMode(cmdArgs.SymlinkForestMarker, SymlinkForest)
	setBuildMode(cmdArgs.Bp2buildMarker, Bp2build)
	setBuildMode(cmdArgs.BazelQueryViewDir, GenerateQueryView)
	setBuildMode(cmdArgs.BazelApiBp2buildDir, ApiBp2build)
	setBuildMode(cmdArgs.ModuleGraphFile, GenerateModuleGraph)
	setBuildMode(cmdArgs.DocFile, GenerateDocFile)
	setBazelMode(cmdArgs.BazelModeDev, "--bazel-mode-dev", BazelDevMode)
	setBazelMode(cmdArgs.BazelMode, "--bazel-mode", BazelProdMode)
	setBazelMode(cmdArgs.BazelModeStaging, "--bazel-mode-staging", BazelStagingMode)

	config.BazelContext, err = NewBazelContext(config)
	config.Bp2buildPackageConfig = GetBp2BuildAllowList()