func main()

in gke-windows-builder/builder/main.go [91:133]


func main() {
	log.Print("Starting Windows multi-arch container builder")
	flag.Var(&buildArgs, "build-arg", "The list of parameters to pass to the docker build command")
	flag.Parse()
	if *containerImageName == "" {
		log.Fatalf("Error container-image-name flag is required but was not set")
	}

	if *networkProject != "" && *subnetworkProject != "" && *networkProject != *subnetworkProject {
		log.Fatalf("When both network and subnetwork projects are set, they must be identical")
	}
	// subnetworkProject is deprecated. If only subnetwork was set, then copy its value to networkProject
	if *subnetworkProject != "" && *networkProject == "" {
		*networkProject = *subnetworkProject
	}

	pickedVersionMap := getPickedVersionMap(*pickedVersions)
	// Add obsolete 1809 version for test
	if *testObsoleteVersion {
		pickedVersionMap["1809"] = "windows-cloud/global/images/family/windows-1809-core-for-containers"
	}

	var err error
	// Fetch builder project ID from metadata or gcloud command, if it's not set in flags
	if *projectID == "" {
		if *projectID, err = builder.GetProject(); err != nil {
			log.Fatalf("Failed to get builder project ID: %+v", err)
		}
	}

	if *workspaceBucket == "" {
		*workspaceBucket = *projectID + "_builder_tmp"
	}

	if err = setupProjectForBuilder(context.Background()); err != nil {
		log.Fatalf("Failed to setup builder project with error: %+v", err)
	}

	if err = process(pickedVersionMap); err != nil {
		log.Fatalf("Windows multi-arch container building process failed with error: %+v", err)
	}
	log.Println("Windows multi-arch container building process is completed")
}