...
1 package main
2
3 import (
4 "log"
5 "os"
6 "path/filepath"
7 "strings"
8
9 "github.com/bazelbuild/rules_go/go/runfiles"
10 )
11
12 var GoBinRlocationPath = "not set"
13
14 func main() {
15 goBin, err := runfiles.Rlocation(GoBinRlocationPath)
16 if err != nil {
17 log.Fatal(err)
18 }
19
20 goRoot, err := filepath.Abs(filepath.Dir(filepath.Dir(goBin)))
21 if err != nil {
22 log.Fatal(err)
23 }
24
25 env := os.Environ()
26 var filteredEnv []string
27 for i := 0; i < len(env); i++ {
28 if !strings.HasPrefix(env[i], "GOROOT=") {
29 filteredEnv = append(filteredEnv, env[i])
30 }
31 }
32 filteredEnv = append(filteredEnv, "GOROOT="+goRoot)
33
34 err = os.Chdir(os.Getenv("BUILD_WORKING_DIRECTORY"))
35 if err != nil {
36 log.Fatal(err)
37 }
38
39 args := append([]string{goBin}, os.Args[1:]...)
40 log.Fatal(ReplaceWithProcess(args, filteredEnv))
41 }
42
View as plain text