func setupFilesCmd()

in custard/cmd/custard/main.go [129:162]


func setupFilesCmd(configFile string, pathsFile string) {
	config, err := c.LoadConfig(configFile)
	if err != nil {
		log.Fatalln("❌ error loading the config file: ", configFile, "\n", err)
	}

	pathsBytes, err := os.ReadFile(pathsFile)
	if err != nil {
		log.Fatalln("❌ error getting the diffs: ", pathsFile, "\n", err)
	}
	// Trim whitespace to remove extra newline from diff output.
	paths := strings.Split(strings.TrimSpace(string(pathsBytes)), "\n")

	setups, errors := config.FindSetupFiles(paths)
	if len(errors) > 0 {
		var sb strings.Builder
		sb.WriteString("❌ could not load setup files.\n")
		for _, e := range errors {
			sb.WriteString(e + "\n")
		}
		if config.CISetupHelpURL != "" {
			sb.WriteString("\n")
			sb.WriteString("For more information, see:\n")
			sb.WriteString(fmt.Sprintf("  %v\n", config.CISetupHelpURL))
		}
		log.Fatalln(sb.String())
	}

	output, err := json.Marshal(setups)
	if err != nil {
		log.Fatalln("❌ error marshaling setups to JSON.\n", err)
	}
	fmt.Println(string(output))
}