From f66905f36427aa7b066186d722a8af8d3e2c0275 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Tue, 13 Aug 2019 15:49:47 -0400 Subject: remove hardcoded paths --- apply.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'apply.go') diff --git a/apply.go b/apply.go index 89abf8d..ddf12a5 100644 --- a/apply.go +++ b/apply.go @@ -7,46 +7,46 @@ import ( "text/template" ) -func apply(args []string) error { +func apply(conf *Conf, args []string) error { if len(args) != 0 { - return applyFiles(args) + return applyFiles(conf, args) } - names, err := getFileNames() + names, err := getFileNames(conf) if err != nil { return err } - return applyFiles(names) + return applyFiles(conf, names) } -func applyFiles(names []string) error { +func applyFiles(conf *Conf, names []string) error { for _, name := range names { fmt.Printf("applying %s\n", name) - if err := applyFile(name); err != nil { + if err := applyFile(conf, name); err != nil { return fmt.Errorf("could not apply %s: %v", name, err) } } return nil } -func applyFile(name string) error { - src := filepath.Join(base, "templates", name) +func applyFile(conf *Conf, name string) error { + src := filepath.Join(conf.Source, "templates", name) t, err := template.New(filepath.Base(name)).Funcs(buildFuncMap()).ParseFiles(src) if err != nil { return fmt.Errorf("could not build template: %v", err) } - data, err := getTemplateData() + data, err := getTemplateData(conf) if err != nil { return err } - d := filepath.Join(dest, name) - if err = os.MkdirAll(filepath.Dir(d), 0700); err != nil { + dest := filepath.Join(conf.Dest, name) + if err = os.MkdirAll(filepath.Dir(dest), 0700); err != nil { return err } srcInfo, err := os.Stat(src) if err != nil { return err } - out, err := os.OpenFile(d, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, srcInfo.Mode()) + out, err := os.OpenFile(dest, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, srcInfo.Mode()) if err != nil { return err } @@ -57,17 +57,17 @@ func applyFile(name string) error { return nil } -func getFileNames() ([]string, error) { +func getFileNames(c *Conf) ([]string, error) { var names []string - d := filepath.Join(base, "templates") - err := filepath.Walk(d, func(path string, info os.FileInfo, err error) error { + dir := filepath.Join(c.Source, "templates") + err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { if err != nil { return err } if info.IsDir() { return nil } - name, err := filepath.Rel(d, path) + name, err := filepath.Rel(dir, path) if err != nil { return err } -- cgit v1.2.3