]> Cypherpunks repositories - gostls13.git/commitdiff
go/build: use os.MkdirAll to create directories
authorAlex Brainman <alex.brainman@gmail.com>
Mon, 11 Jul 2011 05:40:41 +0000 (15:40 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Mon, 11 Jul 2011 05:40:41 +0000 (15:40 +1000)
Replaces "mkdir -p ..." command, as Windows mkdir command
does not support -p flag. Also, is simpler and faster then
launching new process.

R=golang-dev, mattn.jp, adg, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4626087

src/pkg/go/build/build.go

index d83a6666e82a7f7f1bab0bcd6b798af9913f82f1..12a9c20d99ff0a694a730e9d962642299c452ab0 100644 (file)
@@ -213,6 +213,14 @@ func (c *Cmd) String() string {
 
 // Run executes the Cmd.
 func (c *Cmd) Run() os.Error {
+       if c.Args[0] == "mkdir" {
+               for _, p := range c.Output {
+                       if err := os.MkdirAll(p, 0777); err != nil {
+                               return fmt.Errorf("command %q: %v", c, err)
+                       }
+               }
+               return nil
+       }
        out := new(bytes.Buffer)
        cmd := exec.Command(c.Args[0], c.Args[1:]...)
        cmd.Dir = c.Dir