diff --git a/.travis.yml b/.travis.yml index 9652fc9..f8f240e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: go go: "1.12" script: - - go run compiler/main.go + - ./build.sh deploy: - provider: releases diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..4813981 --- /dev/null +++ b/build.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +OSLIST=(windows darwin linux) +ARCHLIST=(386 amd64) + +OSNAMES=(windows mac linux) +ARCHNAMES=(x32 x64) + +for I in ${!OSLIST[*]}; do + for J in ${!ARCHLIST[*]}; do + export GOOS=${OSLIST[$I]} + export GOARCH=${ARCHLIST[$J]} + OUT=dist/shadowfox_${OSNAMES[$I]}_${ARCHNAMES[$J]} + if [ $GOOS = windows ]; then + OUT=${OUT}.exe + fi + + go build -o $OUT + done +done diff --git a/compiler/main.go b/compiler/main.go deleted file mode 100644 index fb09608..0000000 --- a/compiler/main.go +++ /dev/null @@ -1,39 +0,0 @@ -package main - -import ( - "os" - "os/exec" -) - -func checkErr(err error) { - if err != nil { - panic(err) - } -} - -func main() { - osList := [3]string{"windows", "darwin", "linux"} - archList := [2]string{"386", "amd64"} - - osNames := [3]string{"windows", "mac", "linux"} - archNames := [2]string{"x32", "x64"} - - var err error - for i, buildOS := range osList { - for j, buildArch := range archList { - err = os.Setenv("GOOS", buildOS) - checkErr(err) - err = os.Setenv("GOARCH", buildArch) - checkErr(err) - - args := []string{"build", "-o", "dist/shadowfox_" + osNames[i] + "_" + archNames[j]} - - if buildOS == "windows" { - args[2] += ".exe" - } - - _, err := exec.Command("go", args...).Output() - checkErr(err) - } - } -}