Arquivos
Felix Geisendörfer 2a49321909 build script improvements
2013-12-25 19:06:56 +01:00

58 linhas
1.2 KiB
Bash
Arquivo Executável

#!/usr/bin/env bash
set -eu
# dist.bash <version>
#
# Creates archive files ready for distribution for all selected platforms.
main() {
local version="$1"
local scripts_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
local root_dir="$( cd "${scripts_dir}"/.. && pwd )"
local targets=(
'darwin 386 zip'
'windows 386 zip'
'linux 386 tar'
'linux amd64 tar'
)
for target in "${targets[@]}"; do
build $target
done
}
build() {
local os="$1"
local arch="$2"
local archive="$3"
local name="godrone-${version}-${os}-${arch}"
local out_dir="${root_dir}/dist/${name}"
echo "Building ${name}"
"${scripts_dir}/build.bash" \
-os "${os}" \
-arch "${arch}" \
-version ${version} \
"${out_dir}"
cd "${out_dir}/.."
case "${archive}" in
'zip')
local archive_name="${out_dir}.zip"
rm -f "${archive_name}"
zip -q -r "${archive_name}" "${name}"
;;
'tar')
local archive_name="${out_dir}.tar.gz"
rm -f "${archive_name}"
tar -czf "${archive_name}" "${name}"
;;
*)
echo "unknown archive format: ${archive}"
exit 1
;;
esac
rm -rf "${out_dir}"
}
main $@