Currently, if cmd/go builds a swig file with the -n (dry run) flag, it
will print the swig command invocation without executing it, but then
attempt to actually rename one of swig's output files, which will
fail. Make this rename conditional on -n. While we're here, we fix the
missing logging of the rename command with -x, too.
Change-Id: I1f6e6efc53dfe4ac5a42d26096679b97bc322827
Reviewed-on: https://go-review.googlesource.com/c/go/+/493255
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
// going to compile.
goFile = objdir + goFile
newGoFile := objdir + "_" + base + "_swig.go"
- if err := os.Rename(goFile, newGoFile); err != nil {
- return "", "", err
+ if cfg.BuildX || cfg.BuildN {
+ b.Showcmd("", "mv %s %s", goFile, newGoFile)
+ }
+ if !cfg.BuildN {
+ if err := os.Rename(goFile, newGoFile); err != nil {
+ return "", "", err
+ }
}
return newGoFile, objdir + gccBase + gccExt, nil
}