1
0
mirror of https://github.com/go-task/task.git synced 2025-07-05 00:58:54 +02:00

Update install script

Closes #428

Co-authored-by: odidev <odidev@puresoftware.com>
This commit is contained in:
Andrey Nering
2021-01-12 10:43:45 -03:00
parent b095ca5756
commit 1107f691ea
2 changed files with 70 additions and 84 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
set -e set -e
# Code generated by godownloader on 2018-04-07T17:47:38Z. DO NOT EDIT. # Code generated by godownloader on 2021-01-12T13:40:40Z. DO NOT EDIT.
# #
usage() { usage() {
@ -27,11 +27,12 @@ parse_args() {
# over-ridden by flag below # over-ridden by flag below
BINDIR=${BINDIR:-./bin} BINDIR=${BINDIR:-./bin}
while getopts "b:dh?" arg; do while getopts "b:dh?x" arg; do
case "$arg" in case "$arg" in
b) BINDIR="$OPTARG" ;; b) BINDIR="$OPTARG" ;;
d) log_set_priority 10 ;; d) log_set_priority 10 ;;
h | \?) usage "$0" ;; h | \?) usage "$0" ;;
x) set -x ;;
esac esac
done done
shift $((OPTIND - 1)) shift $((OPTIND - 1))
@ -42,46 +43,41 @@ parse_args() {
# network, either nothing will happen or will syntax error # network, either nothing will happen or will syntax error
# out preventing half-done work # out preventing half-done work
execute() { execute() {
tmpdir=$(mktmpdir) tmpdir=$(mktemp -d)
log_debug "downloading files into ${tmpdir}" log_debug "downloading files into ${tmpdir}"
http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}" http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}"
http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}" http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}"
hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}" hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}"
srcdir="${tmpdir}" srcdir="${tmpdir}"
(cd "${tmpdir}" && untar "${TARBALL}") (cd "${tmpdir}" && untar "${TARBALL}")
install -d "${BINDIR}" test ! -d "${BINDIR}" && install -d "${BINDIR}"
for binexe in "task" ; do for binexe in $BINARIES; do
if [ "$OS" = "windows" ]; then if [ "$OS" = "windows" ]; then
binexe="${binexe}.exe" binexe="${binexe}.exe"
fi fi
install "${srcdir}/${binexe}" "${BINDIR}/" install "${srcdir}/${binexe}" "${BINDIR}/"
log_info "installed ${BINDIR}/${binexe}" log_info "installed ${BINDIR}/${binexe}"
done done
rm -rf "${tmpdir}"
} }
is_supported_platform() { get_binaries() {
platform=$1 case "$PLATFORM" in
found=1 darwin/amd64) BINARIES="task" ;;
case "$platform" in darwin/arm64) BINARIES="task" ;;
windows/386) found=0 ;; darwin/armv6) BINARIES="task" ;;
windows/amd64) found=0 ;; linux/386) BINARIES="task" ;;
darwin/386) found=0 ;; linux/amd64) BINARIES="task" ;;
darwin/amd64) found=0 ;; linux/arm64) BINARIES="task" ;;
linux/386) found=0 ;; linux/armv6) BINARIES="task" ;;
linux/amd64) found=0 ;; windows/386) BINARIES="task" ;;
windows/amd64) BINARIES="task" ;;
windows/arm64) BINARIES="task" ;;
windows/armv6) BINARIES="task" ;;
*)
log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
exit 1
;;
esac esac
case "$platform" in
darwin/386) found=1 ;;
esac
return $found
}
check_platform() {
if is_supported_platform "$PLATFORM"; then
# optional logging goes here
true
else
log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
exit 1
fi
} }
tag_to_version() { tag_to_version() {
if [ -z "${TAG}" ]; then if [ -z "${TAG}" ]; then
@ -99,8 +95,8 @@ tag_to_version() {
VERSION=${TAG#v} VERSION=${TAG#v}
} }
adjust_format() { adjust_format() {
# change format (tar.gz or zip) based on ARCH # change format (tar.gz or zip) based on OS
case ${ARCH} in case ${OS} in
windows) FORMAT=zip ;; windows) FORMAT=zip ;;
esac esac
true true
@ -174,7 +170,9 @@ log_crit() {
uname_os() { uname_os() {
os=$(uname -s | tr '[:upper:]' '[:lower:]') os=$(uname -s | tr '[:upper:]' '[:lower:]')
case "$os" in case "$os" in
msys_nt) os="windows" ;; cygwin_nt*) os="windows" ;;
mingw*) os="windows" ;;
msys_nt*) os="windows" ;;
esac esac
echo "$os" echo "$os"
} }
@ -186,9 +184,9 @@ uname_arch() {
i686) arch="386" ;; i686) arch="386" ;;
i386) arch="386" ;; i386) arch="386" ;;
aarch64) arch="arm64" ;; aarch64) arch="arm64" ;;
armv5*) arch="arm5" ;; armv5*) arch="armv5" ;;
armv6*) arch="arm6" ;; armv6*) arch="armv6" ;;
armv7*) arch="arm7" ;; armv7*) arch="armv7" ;;
esac esac
echo ${arch} echo ${arch}
} }
@ -234,8 +232,8 @@ uname_arch_check() {
untar() { untar() {
tarball=$1 tarball=$1
case "${tarball}" in case "${tarball}" in
*.tar.gz | *.tgz) tar -xzf "${tarball}" ;; *.tar.gz | *.tgz) tar --no-same-owner -xzf "${tarball}" ;;
*.tar) tar -xf "${tarball}" ;; *.tar) tar --no-same-owner -xf "${tarball}" ;;
*.zip) unzip "${tarball}" ;; *.zip) unzip "${tarball}" ;;
*) *)
log_err "untar unknown archive format for ${tarball}" log_err "untar unknown archive format for ${tarball}"
@ -243,11 +241,6 @@ untar() {
;; ;;
esac esac
} }
mktmpdir() {
test -z "$TMPDIR" && TMPDIR="$(mktemp -d)"
mkdir -p "${TMPDIR}"
echo "${TMPDIR}"
}
http_download_curl() { http_download_curl() {
local_file=$1 local_file=$1
source_url=$2 source_url=$2
@ -368,7 +361,7 @@ uname_arch_check "$ARCH"
parse_args "$@" parse_args "$@"
check_platform get_binaries
tag_to_version tag_to_version

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
set -e set -e
# Code generated by godownloader on 2018-04-07T17:47:38Z. DO NOT EDIT. # Code generated by godownloader on 2021-01-12T13:40:40Z. DO NOT EDIT.
# #
usage() { usage() {
@ -27,11 +27,12 @@ parse_args() {
# over-ridden by flag below # over-ridden by flag below
BINDIR=${BINDIR:-./bin} BINDIR=${BINDIR:-./bin}
while getopts "b:dh?" arg; do while getopts "b:dh?x" arg; do
case "$arg" in case "$arg" in
b) BINDIR="$OPTARG" ;; b) BINDIR="$OPTARG" ;;
d) log_set_priority 10 ;; d) log_set_priority 10 ;;
h | \?) usage "$0" ;; h | \?) usage "$0" ;;
x) set -x ;;
esac esac
done done
shift $((OPTIND - 1)) shift $((OPTIND - 1))
@ -42,46 +43,41 @@ parse_args() {
# network, either nothing will happen or will syntax error # network, either nothing will happen or will syntax error
# out preventing half-done work # out preventing half-done work
execute() { execute() {
tmpdir=$(mktmpdir) tmpdir=$(mktemp -d)
log_debug "downloading files into ${tmpdir}" log_debug "downloading files into ${tmpdir}"
http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}" http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}"
http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}" http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}"
hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}" hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}"
srcdir="${tmpdir}" srcdir="${tmpdir}"
(cd "${tmpdir}" && untar "${TARBALL}") (cd "${tmpdir}" && untar "${TARBALL}")
install -d "${BINDIR}" test ! -d "${BINDIR}" && install -d "${BINDIR}"
for binexe in "task" ; do for binexe in $BINARIES; do
if [ "$OS" = "windows" ]; then if [ "$OS" = "windows" ]; then
binexe="${binexe}.exe" binexe="${binexe}.exe"
fi fi
install "${srcdir}/${binexe}" "${BINDIR}/" install "${srcdir}/${binexe}" "${BINDIR}/"
log_info "installed ${BINDIR}/${binexe}" log_info "installed ${BINDIR}/${binexe}"
done done
rm -rf "${tmpdir}"
} }
is_supported_platform() { get_binaries() {
platform=$1 case "$PLATFORM" in
found=1 darwin/amd64) BINARIES="task" ;;
case "$platform" in darwin/arm64) BINARIES="task" ;;
windows/386) found=0 ;; darwin/armv6) BINARIES="task" ;;
windows/amd64) found=0 ;; linux/386) BINARIES="task" ;;
darwin/386) found=0 ;; linux/amd64) BINARIES="task" ;;
darwin/amd64) found=0 ;; linux/arm64) BINARIES="task" ;;
linux/386) found=0 ;; linux/armv6) BINARIES="task" ;;
linux/amd64) found=0 ;; windows/386) BINARIES="task" ;;
windows/amd64) BINARIES="task" ;;
windows/arm64) BINARIES="task" ;;
windows/armv6) BINARIES="task" ;;
*)
log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
exit 1
;;
esac esac
case "$platform" in
darwin/386) found=1 ;;
esac
return $found
}
check_platform() {
if is_supported_platform "$PLATFORM"; then
# optional logging goes here
true
else
log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
exit 1
fi
} }
tag_to_version() { tag_to_version() {
if [ -z "${TAG}" ]; then if [ -z "${TAG}" ]; then
@ -99,8 +95,8 @@ tag_to_version() {
VERSION=${TAG#v} VERSION=${TAG#v}
} }
adjust_format() { adjust_format() {
# change format (tar.gz or zip) based on ARCH # change format (tar.gz or zip) based on OS
case ${ARCH} in case ${OS} in
windows) FORMAT=zip ;; windows) FORMAT=zip ;;
esac esac
true true
@ -174,7 +170,9 @@ log_crit() {
uname_os() { uname_os() {
os=$(uname -s | tr '[:upper:]' '[:lower:]') os=$(uname -s | tr '[:upper:]' '[:lower:]')
case "$os" in case "$os" in
msys_nt) os="windows" ;; cygwin_nt*) os="windows" ;;
mingw*) os="windows" ;;
msys_nt*) os="windows" ;;
esac esac
echo "$os" echo "$os"
} }
@ -186,9 +184,9 @@ uname_arch() {
i686) arch="386" ;; i686) arch="386" ;;
i386) arch="386" ;; i386) arch="386" ;;
aarch64) arch="arm64" ;; aarch64) arch="arm64" ;;
armv5*) arch="arm5" ;; armv5*) arch="armv5" ;;
armv6*) arch="arm6" ;; armv6*) arch="armv6" ;;
armv7*) arch="arm7" ;; armv7*) arch="armv7" ;;
esac esac
echo ${arch} echo ${arch}
} }
@ -234,8 +232,8 @@ uname_arch_check() {
untar() { untar() {
tarball=$1 tarball=$1
case "${tarball}" in case "${tarball}" in
*.tar.gz | *.tgz) tar -xzf "${tarball}" ;; *.tar.gz | *.tgz) tar --no-same-owner -xzf "${tarball}" ;;
*.tar) tar -xf "${tarball}" ;; *.tar) tar --no-same-owner -xf "${tarball}" ;;
*.zip) unzip "${tarball}" ;; *.zip) unzip "${tarball}" ;;
*) *)
log_err "untar unknown archive format for ${tarball}" log_err "untar unknown archive format for ${tarball}"
@ -243,11 +241,6 @@ untar() {
;; ;;
esac esac
} }
mktmpdir() {
test -z "$TMPDIR" && TMPDIR="$(mktemp -d)"
mkdir -p "${TMPDIR}"
echo "${TMPDIR}"
}
http_download_curl() { http_download_curl() {
local_file=$1 local_file=$1
source_url=$2 source_url=$2
@ -368,7 +361,7 @@ uname_arch_check "$ARCH"
parse_args "$@" parse_args "$@"
check_platform get_binaries
tag_to_version tag_to_version