func init()

in gazelle/std_modules.go [26:68]


func init() {
	stdModulesSeen = make(map[string]struct{})

	stdModulesScriptRunfile, err := bazel.Runfile("gazelle/std_modules")
	if err != nil {
		log.Printf("failed to initialize std_modules: %v\n", err)
		os.Exit(1)
	}

	ctx := context.Background()
	ctx, stdModulesCancel := context.WithTimeout(ctx, time.Minute*5)
	cmd := exec.CommandContext(ctx, stdModulesScriptRunfile)

	cmd.Stderr = os.Stderr
	cmd.Env = []string{}

	stdin, err := cmd.StdinPipe()
	if err != nil {
		log.Printf("failed to initialize std_modules: %v\n", err)
		os.Exit(1)
	}
	stdModulesStdin = stdin

	stdout, err := cmd.StdoutPipe()
	if err != nil {
		log.Printf("failed to initialize std_modules: %v\n", err)
		os.Exit(1)
	}
	stdModulesStdout = stdout

	if err := cmd.Start(); err != nil {
		log.Printf("failed to initialize std_modules: %v\n", err)
		os.Exit(1)
	}

	go func() {
		defer stdModulesCancel()
		if err := cmd.Wait(); err != nil {
			log.Printf("failed to wait for std_modules: %v\n", err)
			os.Exit(1)
		}
	}()
}