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)
}
}