readonly RELEASE=$(git describe --abbrev=0 --tags)
readonly APP_NAME=$(cut -d= -f2 ./src/main/resources/bootstrap.properties)
readonly APP_NAME_LC=${APP_NAME,,}
readonly URL=$(cat "tokens/publish.url")
readonly FILE_VERSION="version.txt"
release() {
local -r OS="${1}"
local FILE_PREFIX="${APP_NAME_LC}"
local FILE_SUFFIX="bin"
case ${OS} in
MacOS)
FILE_SUFFIX="app"
;;
Windows)
FILE_PREFIX="${APP_NAME}"
FILE_SUFFIX="exe"
;;
Java)
FILE_SUFFIX="jar"
;;
*)
;;
esac
local -r BINARY="${FILE_PREFIX}.${FILE_SUFFIX}"
upload "${BINARY}"
}
upload() {
local -r FILENAME="${1}"
if [ -f "${FILENAME}" ]; then
scp "${FILENAME}" "${URL}"
else
$log "Skipping ${FILE_BINARY} ..."
fi
}
release "Windows"
release "MacOS"
release "Linux"
release "Java"
echo "${RELEASE}" > "${FILE_VERSION}"
upload "${FILE_VERSION}"
mv "${FILE_VERSION}" "www/downloads"