github.com/Cloud-Foundations/Dominator@v0.3.4/cmd/filegen-server/register.go (about) 1 package main 2 3 import ( 4 "os" 5 "path" 6 7 "github.com/Cloud-Foundations/Dominator/lib/filegen" 8 ) 9 10 func registerSourceDirectory(manager *filegen.Manager, baseDir string, 11 myPathName string) error { 12 file, err := os.Open(path.Join(baseDir, myPathName)) 13 if err != nil { 14 return err 15 } 16 names, err := file.Readdirnames(-1) 17 file.Close() 18 if err != nil { 19 return err 20 } 21 for _, name := range names { 22 filename := path.Join(myPathName, name) 23 pathname := path.Join(baseDir, filename) 24 fi, err := os.Lstat(pathname) 25 if err != nil { 26 return err 27 } 28 if fi.IsDir() { 29 if err := registerSourceDirectory(manager, baseDir, 30 filename); err != nil { 31 return err 32 } 33 } else if fi.Mode().IsRegular() { 34 manager.RegisterFileForPath(filename, pathname) 35 } 36 } 37 return nil 38 }