github.com/yaegashi/msgraph.go@v0.1.4/gen/generator_clean.go (about) 1 package main 2 3 import ( 4 "log" 5 "os" 6 "path/filepath" 7 "strings" 8 ) 9 10 func (g *Generator) Clean() error { 11 log.Printf("Creating directory %s", g.Out) 12 err := os.MkdirAll(filepath.Dir(g.Out), 0755) 13 if err != nil { 14 return err 15 } 16 dir, err := os.Open(g.Out) 17 if err != nil { 18 return err 19 } 20 files, err := dir.Readdir(-1) 21 if err != nil { 22 return err 23 } 24 for _, file := range files { 25 if file.IsDir() { 26 continue 27 } 28 if !strings.HasSuffix(file.Name(), ".go") { 29 continue 30 } 31 if strings.HasSuffix(file.Name(), "_test.go") { 32 continue 33 } 34 path := filepath.Join(g.Out, file.Name()) 35 log.Printf("Removing %s", path) 36 err := os.Remove(path) 37 if err != nil { 38 return err 39 } 40 } 41 return nil 42 }