From 8052701021c179521a6b343dc29de115d463cd1f Mon Sep 17 00:00:00 2001 From: Lukas Welte Date: Thu, 7 Feb 2019 17:18:48 +0100 Subject: [PATCH] Use go cross compile to build once with travis for all platforms --- .travis.yml | 5 ++++- Makefile | 4 ++-- README.md | 6 +++--- appveyor.yml | 42 ------------------------------------------ 4 files changed, 9 insertions(+), 48 deletions(-) delete mode 100644 appveyor.yml diff --git a/.travis.yml b/.travis.yml index 2b33de95..18120461 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,9 @@ go: addons: artifacts: paths: - - maputnik + - maputnik_linux + - maputnik_darwin + - maputnik_windows.exe install: - go get -u golang.org/x/sys/... - go get github.com/fsnotify/fsnotify @@ -17,6 +19,7 @@ install: - go get github.com/urfave/cli - go get github.com/elazarl/go-bindata-assetfs/... - go get github.com/jteeuwen/go-bindata/... +- go get github.com/mitchellh/gox - wget https://raw.githubusercontent.com/openmaptiles/klokantech-basic-gl-style/master/style.json script: - make diff --git a/Makefile b/Makefile index 2b3b94ce..4548565d 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ EDITOR_VERSION ?= v1.5.0 all: $(BINARY) $(BINARY): $(SOURCES) bindata_assetfs.go - go build -o ${BINARY} + gox -osarch "windows/amd64 linux/amd64 darwin/amd64" -output "${BINARY}_{{.OS}}" editor/create_folder: mkdir -p editor @@ -19,4 +19,4 @@ bindata_assetfs.go: editor/pull_release .PHONY: clean clean: - rm -rf editor/public && rm -f bindata.go && rm -f bindata_assetfs.go && rm -f maputnik + rm -rf editor/public && rm -f bindata.go && rm -f bindata_assetfs.go && rm -f maputnik_* diff --git a/README.md b/README.md index 091962ef..2745650a 100644 --- a/README.md +++ b/README.md @@ -54,11 +54,10 @@ maputnik --watch --file basic-v9.json ### Build -Clone the repository **recursively** since the Maputnik editor is embedded -as submodule. Make sure you clone it into the correct directory `$GOPATH/src/github.com/maputnik`. +Clone the repository. Make sure you clone it into the correct directory `$GOPATH/src/github.com/maputnik`. ``` -git clone --recursive git@github.com:maputnik/desktop.git +git clone git@github.com:maputnik/desktop.git ``` Install the 3rd party dependencies. @@ -72,6 +71,7 @@ go get github.com/fsnotify/fsnotify go get github.com/urfave/cli go get github.com/elazarl/go-bindata-assetfs/... go get github.com/jteeuwen/go-bindata/... +go get github.com/mitchellh/gox ``` Run `make` to build the app distribution bundle and create the `maputnik` binary diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 2cc98eed..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,42 +0,0 @@ -# version format -version: "{build}" - -# Operating system (build VM template) -os: Windows Server 2012 R2 - -clone_folder: c:\gopath\src\github.com\maputnik\desktop - -# environment variables -environment: - GOPATH: c:\gopath - GO15VENDOREXPERIMENT: 1 - -# scripts that run after cloning repository -install: -- set PATH=%GOPATH%\bin;c:\go\bin;%PATH% -- go version -- go env -- go get -u golang.org/x/sys/... -- go get github.com/fsnotify/fsnotify -- go get github.com/gorilla/handlers -- go get github.com/gorilla/mux -- go get github.com/gorilla/websocket -- go get github.com/urfave/cli -- go get github.com/elazarl/go-bindata-assetfs/... -- go get github.com/jteeuwen/go-bindata/... -- make - -# to run your custom scripts instead of automatic MSBuild -build_script: -- go vet ./... -- gofmt -s -l . -- C:\MinGW\bin\mingw32-make.exe - -artifacts: -- path: maputnik - -# to disable automatic tests -test: off - -# to disable deployment -deploy: off