mirror of
https://github.com/golang/go
synced 2024-11-26 20:01:19 -07:00
cmd/go: fix swigOne action with -n
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>
This commit is contained in:
parent
a3f69c778f
commit
711609d55f
@ -3779,8 +3779,13 @@ func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFL
|
||||
// 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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user