|
|
- #!/bin/bash
-
- set -ue
-
- # Expect the following envvars to be set:
- # - APP
- # - VERSION
- # - COMMIT
- # - TARGET_OS
- # - LEDGER_ENABLED
- # - DEBUG
-
- # Source builder's functions library
- . /usr/local/share/cosmos-sdk/buildlib.sh
-
- # These variables are now available
- # - BASEDIR
- # - OUTDIR
-
- # Build for each os-architecture pair
- for platform in ${TARGET_PLATFORMS} ; do
- # This function sets GOOS, GOARCH, and OS_FILE_EXT environment variables
- # according to the build target platform. OS_FILE_EXT is empty in all
- # cases except when the target platform is 'windows'.
- setup_build_env_for_platform "${platform}"
-
- make clean
- echo Building for $(go env GOOS)/$(go env GOARCH) >&2
- GOROOT_FINAL="$(go env GOROOT)" \
- make build LDFLAGS=-buildid=${VERSION} COMMIT=${COMMIT}
- mv ./build/${APP}${OS_FILE_EXT} ${OUTDIR}/${APP}-${VERSION}-$(go env GOOS)-$(go env GOARCH)${OS_FILE_EXT}
-
- # This function restore the build environment variables to their
- # original state.
- restore_build_env
- done
-
- # Generate and display build report.
- generate_build_report
- cat ${OUTDIR}/build_report
|