From 3c6a7b3fc50a391f939308b522ac79e6ac79990b Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Mon, 11 Jul 2011 15:40:41 +1000 Subject: [PATCH] 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 --- src/pkg/go/build/build.go | 8 ++++++++ 1 file changed, 8 insertions(+) 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 -- 2.50.0