func main()

in cmd/rbe_configs_gen/rbe_configs_gen.go [147:192]


func main() {
	flag.Parse()
	printFlags()

	ctx := context.Background()
	mc, err := initMonitoringClient(ctx)
	if err != nil {
		log.Fatalf("Failed to initialize monitoring: %v", err)
	}

	o := rbeconfigsgen.Options{
		BazelVersion:           *bazelVersion,
		BazelPath:              *bazelPath,
		ToolchainContainer:     *toolchainContainer,
		ExecOS:                 *execOS,
		TargetOS:               *targetOS,
		OutputTarball:          *outputTarball,
		OutputSourceRoot:       *outputSrcRoot,
		OutputConfigPath:       *outputConfigPath,
		OutputManifest:         *outputManifest,
		GenCPPConfigs:          *genCppConfigs,
		CppGenEnvJSON:          *cppEnvJSON,
		CPPToolchainTargetName: *cppToolchainTarget,
		GenJavaConfigs:         *genJavaConfigs,
		JavaUseLocalRuntime:    *javaUseLocalRuntime,
		TempWorkDir:            *tempWorkDir,
		Cleanup:                *cleanup,
	}

	result := true
	if err := genConfigs(o); err != nil {
		result = false
		log.Printf("Config generation failed: %v", err)
	} else {
		log.Printf("Config generation was successful.")
	}
	// Monitoring is optional and used for internal alerting by the owners of this repo only.
	if mc != nil {
		if err := mc.ReportToolchainConfigsGeneration(ctx, *monitoringDockerImage, result); err != nil {
			log.Fatalf("Failed to report config result to monitoring: %v", err)
		}
	}
	if !result {
		os.Exit(1)
	}
}