mirror of
https://github.com/EgeBalci/deoptimizer
synced 2026-06-08 10:55:50 +00:00
98 lines
2.7 KiB
Bash
Executable File
98 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
## ANSI Colors (FG & BG)
|
|
RED="$(printf '\033[31m')" GREEN="$(printf '\033[32m')" YELLOW="$(printf '\033[33m')" BLUE="$(printf '\033[34m')"
|
|
MAGENTA="$(printf '\033[35m')" CYAN="$(printf '\033[36m')" WHITE="$(printf '\033[37m')" BLACK="$(printf '\033[30m')"
|
|
REDBG="$(printf '\033[41m')" GREENBG="$(printf '\033[42m')" YELLOWBG="$(printf '\033[43m')" BLUEBG="$(printf '\033[44m')"
|
|
MAGENTABG="$(printf '\033[45m')" CYANBG="$(printf '\033[46m')" WHITEBG="$(printf '\033[47m')" BLACKBG="$(printf '\033[40m')"
|
|
RESET="$(printf '\e[0m')"
|
|
|
|
## Globals
|
|
[[ -n $VERBOSE ]] && ERR_LOG="$(tty)"
|
|
|
|
print_status() {
|
|
echo "${YELLOW}[*] ${RESET}${1}"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -n "${YELLOW}[!] ${RESET}${1}"
|
|
}
|
|
|
|
print_error() {
|
|
echo "${RED}[-] ${RESET}${1}"
|
|
}
|
|
|
|
print_fatal() {
|
|
echo -e "${RED}[!] $1\n${RESET}"
|
|
kill -10 $$
|
|
}
|
|
|
|
print_good() {
|
|
echo "${GREEN}[+] ${RESET}${1}"
|
|
}
|
|
|
|
print_verbose() {
|
|
if [[ -n "${VERBOSE}" ]]; then
|
|
echo "${WHITE}[*] ${RESET}${1}"
|
|
fi
|
|
}
|
|
|
|
must_exist() {
|
|
for i in "$@"; do
|
|
command -v "$i" >$ERR_LOG || print_fatal "$i not installed! Exiting..."
|
|
done
|
|
}
|
|
|
|
|
|
## Handle SININT
|
|
exit_on_signal_SIGINT () {
|
|
echo ""
|
|
print_fatal "Script interrupted!"
|
|
}
|
|
|
|
exit_on_signal_SIGTERM () {
|
|
echo ""
|
|
print_fatal "Script interrupted!"
|
|
}
|
|
|
|
trap exit_on_signal_SIGINT SIGINT
|
|
trap exit_on_signal_SIGTERM SIGTERM
|
|
|
|
RELEASE_DIR="$(pwd)/release"
|
|
ERR_LOG="/dev/null"
|
|
|
|
must_exist "grep" "cut" "tar" "sha1sum"
|
|
|
|
[[ ! -f ./Cargo.toml ]] && print_fatal "Cargo.toml not found!"
|
|
VERSION=$(grep "^version = " Cargo.toml|cut -d'"' -f2)
|
|
|
|
print_status "[$(date --rfc-3339=date)] Packaging new release for version $VERSION"
|
|
mkdir -p "$RELEASE_DIR" &> "$ERR_LOG"
|
|
|
|
tar czvf "$RELEASE_DIR/deoptimizer_linux_x86_64_v$VERSION.tar.gz"\
|
|
-C "./target/x86_64-unknown-linux-musl/release/"\
|
|
"deoptimizer" &> "$ERR_LOG" || print_fatal "Linux x86_64 release failed!"
|
|
|
|
tar czvf "$RELEASE_DIR/deoptimizer_linux_i686_v$VERSION.tar.gz"\
|
|
-C "./target/i686-unknown-linux-musl/release/"\
|
|
"deoptimizer" &> "$ERR_LOG" || print_fatal "Linux i686 release failed!"
|
|
|
|
tar czvf "$RELEASE_DIR/deoptimizer_linux_aarch64_v$VERSION.tar.gz"\
|
|
-C "./target/aarch64-unknown-linux-musl/release/"\
|
|
"deoptimizer" &> "$ERR_LOG" || print_fatal "Linux aarch64 release failed!"
|
|
|
|
tar czvf "$RELEASE_DIR/deoptimizer_windows_x86_64_v$VERSION.tar.gz"\
|
|
-C "./target/x86_64-pc-windows-gnu/release/"\
|
|
"deoptimizer.exe" &> "$ERR_LOG" || print_fatal "Windows x86_64 release failed!"
|
|
|
|
tar czvf "$RELEASE_DIR/deoptimizer_windows_i686_v$VERSION.tar.gz"\
|
|
-C "./target/i686-pc-windows-gnu/release/"\
|
|
"deoptimizer.exe" &> "$ERR_LOG" || print_fatal "Windows i686 release failed!"
|
|
|
|
|
|
print_good "All done!"
|
|
|
|
cd "$RELEASE_DIR" || exit
|
|
echo -e "\n\`\`\`"
|
|
sha1sum ./*
|
|
echo -e "\`\`\`\n"
|