diff options
Diffstat (limited to 'cmd/dist/main.go')
| -rw-r--r-- | cmd/dist/main.go | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/cmd/dist/main.go b/cmd/dist/main.go index d876cf83..82247dd9 100644 --- a/cmd/dist/main.go +++ b/cmd/dist/main.go @@ -35,8 +35,11 @@ func getenv(key, fallback string) string { // mustRun runs a command with the current process's environment and panics // on error or non-zero exit code. -func mustRun(ctx context.Context, name string, arg ...string) { +func mustRun(ctx context.Context, env []string, name string, arg ...string) { cmd := exec.CommandContext(ctx, name, arg...) + if env != nil { + cmd.Env = append(cmd.Environ(), env...) + } cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr if err := cmd.Run(); err != nil { panic(err) @@ -49,6 +52,7 @@ var comp []byte func main() { log.SetFlags(0) log.SetPrefix("") + log.SetOutput(os.Stdout) verbose := os.Getenv("VERBOSE") != "" runTests := os.Getenv("HAKUREI_DIST_MAKE") == "" @@ -91,26 +95,37 @@ func main() { verboseFlag = "-buildvcs=false" } - log.Printf("Building hakurei for %s/%s.", runtime.GOOS, runtime.GOARCH) - mustRun(ctx, "go", "generate", "./...") + log.Printf("Building hakurei %s for %s/%s.", version, runtime.GOOS, runtime.GOARCH) + mustRun(ctx, nil, "go", "generate", "./...") mustRun( - ctx, "go", "build", + ctx, nil, "go", "build", "-trimpath", verboseFlag, "-o", s, "-ldflags=-s -w "+ "-buildid= -linkmode external -extldflags=-static "+ "-X hakurei.app/internal/info.buildVersion="+version+" "+ "-X hakurei.app/internal/info.hakureiPath="+prefix+"/bin/hakurei "+ - "-X hakurei.app/internal/info.hsuPath="+prefix+"/bin/hsu "+ + "-X hakurei.app/internal/info.hsuPath="+prefix+"/bin/hsu", + "./cmd/hakurei", + "./cmd/sharefs", + ) + + log.Printf("Building cmd/hsu for %s/%s.", runtime.GOOS, runtime.GOARCH) + mustRun( + ctx, []string{"CGO_ENABLED=0"}, "go", "build", + "-trimpath", + verboseFlag, "-o", s, + "-ldflags=-s -w "+ + "-buildid= "+ "-X main.hakureiPath="+prefix+"/bin/hakurei", - "./...", + "./cmd/hsu", ) - log.Println() + log.Println() if runTests { log.Println("##### Testing Hakurei.") mustRun( - ctx, "go", "test", + ctx, nil, "go", "test", "-ldflags=-buildid= -linkmode external -extldflags=-static", "./...", ) |
