2013-10-24 02:00:57 +04:00
|
|
|
// +build gotask
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/jingweno/gotask/tasking"
|
|
|
|
"os"
|
|
|
|
"runtime"
|
|
|
|
)
|
|
|
|
|
2013-10-24 02:20:47 +04:00
|
|
|
// Cross-compiles gh
|
2013-10-24 02:00:57 +04:00
|
|
|
//
|
2013-10-24 02:20:47 +04:00
|
|
|
// Cross-compiles gh for current operating system. The build artifacts will be in target/VERSION
|
|
|
|
func TaskCrossCompile(t *tasking.T) {
|
2013-10-24 02:00:57 +04:00
|
|
|
t.Log("Updating goxc...")
|
|
|
|
err := t.Exec("go get -u github.com/laher/goxc")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("Can't update goxc: %s\n", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
t.Log("Removing build target...")
|
|
|
|
err = os.RemoveAll("target")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("Can't remove build target: %s\n", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2013-10-24 02:16:13 +04:00
|
|
|
t.Log("Cross-compiling gh...")
|
2013-10-24 02:00:57 +04:00
|
|
|
err = t.Exec("goxc", "-wd=.", "-os="+runtime.GOOS, "-c="+runtime.GOOS)
|
|
|
|
if err != nil {
|
2013-10-24 02:16:13 +04:00
|
|
|
t.Errorf("Can't cross-compile gh: %s\n", err)
|
2013-10-24 02:00:57 +04:00
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|