juicysfplugin/Builds/MacOSX/archive-for-distribution.sh

57 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Ascertain directory in which script lives; compatible with all UNIX
# Thanks to kenorb
# http://stackoverflow.com/a/17744637/5257399
MYDIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
set -o pipefail
VERSION="$1"
if [ -z ${1+x} ]; then
>&2 echo 'specify version number using (for example) ./archive-for-distribution.sh 2.0.0'
exit 1
else
VERSION="$1"
fi
error() {
local parent_lineno="$1"
local message="$2"
local code="${3:-1}"
if [[ -n "$message" ]] ; then
echo "Error on or near line ${parent_lineno}: ${message}; exiting with status ${code}"
else
echo "Error on or near line ${parent_lineno}; exiting with status ${code}"
fi
exit "${code}"
}
trap 'error ${LINENO}' ERR
####
# declare -a BUILDS=("Debug" "Release")
declare -a BUILDS=("Release")
for BUILD in "${BUILDS[@]}"
do
BUILDROOT="$MYDIR/build"
BUILDDIR="$BUILDROOT/$BUILD"
if [ -d "$BUILDDIR" ]; then
echo "Found build $BUILD"
if [[ -d "$BUILDDIR/juicysfplugin.app" \
&& -d "$BUILDDIR/juicysfplugin.component" \
&& -d "$BUILDDIR/juicysfplugin.vst" \
&& -d "$BUILDDIR/juicysfplugin.vst3" ]]; then
echo "Found in $BUILD all targets: .app, .component, .vst, .vst3"
echo "Archiving $BUILD targets to build/$BUILD.tar.xz:"
ls "$BUILDDIR"
\cp -rf "$MYDIR/"{"how to install.txt",licenses_of_dependencies,../../{LICENSE,PRIVACY}.txt} "$BUILDDIR/"
tar -hczf "$BUILDROOT/juicysfplugin.$VERSION.$BUILD.tar.xz" --exclude="libjuicysfplugin.a" -C "$MYDIR/build/$BUILD" .
else
echo "Did not find in $BUILD all targets: .app, .component, .vst, .vst3; skipping."
fi
else
echo "Missing $BUILD; skipping."
fi
done