func WriteDir()

in internal/template/template.go [49:78]


func WriteDir(inputDir, outputDir string, data map[string]interface{}) error {
	fs, err := ioutil.ReadDir(inputDir)
	if err != nil {
		return fmt.Errorf("read dir %q: %v", inputDir, err)
	}
	if len(fs) == 0 {
		// Just create the output directory with no files.
		if err := os.MkdirAll(outputDir, 0755); err != nil {
			return fmt.Errorf("create dir %q: %v", outputDir, err)
		}
		return nil
	}

	for _, f := range fs {
		in := filepath.Join(inputDir, f.Name())
		out := filepath.Join(outputDir, f.Name())

		if f.IsDir() {
			if err := WriteDir(in, out, data); err != nil {
				return err
			}
			continue
		}

		if err := WriteFile(in, out, data); err != nil {
			return err
		}
	}
	return nil
}