]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/dist: delete unnecessary dirs from GOROOT on completion
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 6 May 2019 16:18:08 +0000 (09:18 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 6 May 2019 17:05:53 +0000 (17:05 +0000)
On my machine, these directories add up to 276mb
and account for 40% of the size of the GOROOT directory.

Once bootstrapping is complete, they are never used again.

Fixes #31851

Change-Id: Idbf8f21bae3d64655aa43761cc778677add6234a
Reviewed-on: https://go-review.googlesource.com/c/go/+/175377
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/dist/build.go
src/cmd/dist/buildtool.go

index 2af6a2dd1b99dac4b04a8128d635bccd0de1cbc1..3df7f09abc7f7f0cfe4e0705dcaa5a924d65941a 100644 (file)
@@ -496,6 +496,7 @@ func setup() {
                xremoveall(p)
        }
        xmkdirall(p)
+       xatexit(func() { xremoveall(p) })
 
        // Create tool directory.
        // We keep it in pkg/, just like the object directory above.
index 26e12991a4808758b1dabde02534e471cacf5b1d..190b592b6ef19c85af4c3acaed99b20eb33a4b20 100644 (file)
@@ -128,6 +128,7 @@ func bootstrapBuildTools() {
        // but it is easier to debug on failure if the files are in a known location.
        workspace := pathf("%s/pkg/bootstrap", goroot)
        xremoveall(workspace)
+       xatexit(func() { xremoveall(workspace) })
        base := pathf("%s/src/bootstrap", workspace)
        xmkdirall(base)