From 765f8fc07799c9536eaab8ac13c1f7cd944cb8e4 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 8 Apr 2018 21:37:38 +0200 Subject: [PATCH] Added build script --- build.go | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 build.go diff --git a/build.go b/build.go new file mode 100644 index 0000000..f719eb5 --- /dev/null +++ b/build.go @@ -0,0 +1,50 @@ +// +build ignore + +package main + +import ( + "os" + "os/exec" + "strings" +) + +func main() { + env := os.Environ() + wd, err := os.Getwd() + if err != nil { + panic(err) + } + env = append(env, "GOPATH="+wd) + + args := []string{"build"} + + if len(os.Args) == 2 { + target := os.Args[1] + targetParts := strings.Split(target, "/") + if len(targetParts) != 2 { + println("Invalid target specification. Example: windows/386") + os.Exit(1) + } + env = append(env, + "GOOS="+targetParts[0], + "GOARCH"+targetParts[1], + ) + ext := "" + if targetParts[0] == "windows" { + ext = ".exe" + } + args = append(args, "-o", "calanonsync-"+targetParts[0]+"-"+targetParts[1]+ext) + } + + args = append(args, "calanonsync") + + cmd := exec.Command("go", args...) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + cmd.Env = env + + err = cmd.Run() + if err != nil { + panic(err) + } +}