From: Alex Brainman Date: Mon, 11 Jul 2011 05:40:41 +0000 (+1000) Subject: go/build: use os.MkdirAll to create directories X-Git-Tag: weekly.2011-07-19~133 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3c6a7b3fc50a391f939308b522ac79e6ac79990b;p=gostls13.git go/build: use os.MkdirAll to create directories 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 --- diff --git a/src/pkg/go/build/build.go b/src/pkg/go/build/build.go index d83a6666e8..12a9c20d99 100644 --- a/src/pkg/go/build/build.go +++ b/src/pkg/go/build/build.go @@ -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