80 lines
1.1 KiB
Bash
80 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
dots() {
|
|
echo -n "."
|
|
sleep 1
|
|
dots
|
|
}
|
|
|
|
dots_on() {
|
|
dots &
|
|
dots_pid=$!
|
|
}
|
|
|
|
dots_off() {
|
|
disown $dots_pid
|
|
kill "$dots_pid"
|
|
}
|
|
|
|
build_cleanup() {
|
|
dots_off
|
|
echo
|
|
echo "BUILD ERROR:"
|
|
echo "$build_out"
|
|
}
|
|
build() {
|
|
trap "build_cleanup" ERR
|
|
local tmp_dir=$1
|
|
shift
|
|
echo "building temp binaries:"
|
|
for cmd in $@; do
|
|
echo -n " building $cmd..."
|
|
dots_on
|
|
local path=${tmp_dir}/${cmd}
|
|
declare -g ${cmd}=${path}
|
|
build_out=$(go build -o ${path} storj.io/storj/cmd/${cmd} 2>&1)
|
|
dots_off
|
|
echo "done"
|
|
done
|
|
echo " binaries built in $tmp_dir"
|
|
}
|
|
|
|
temp_build() {
|
|
declare -g tmp_build_dir=$(mktemp -d)
|
|
build ${tmp_build_dir} $@
|
|
}
|
|
|
|
declare_cmds() {
|
|
echo "using installed binaries:"
|
|
for cmd in $@; do
|
|
echo " - ${cmd}"
|
|
declare -g ${cmd}=${cmd}
|
|
done
|
|
}
|
|
|
|
check_help() {
|
|
if [ $1 == "--help" ] || [ $1 == "-h" ]; then
|
|
echo $2
|
|
exit 0
|
|
fi
|
|
}
|
|
|
|
ensure_dir() {
|
|
if [ ! -d $1 ]; then
|
|
mkdir $1
|
|
fi
|
|
}
|
|
|
|
no_overwrite() {
|
|
if [ -e $1 ]; then
|
|
echo "Error: $1 already exists; refusing to overwrite"
|
|
exit 10
|
|
fi
|
|
}
|
|
|
|
log_list() {
|
|
for f in $@; do
|
|
echo ${f}
|
|
done
|
|
}
|