#!/bin/bash -eu
#
# script/build
# mas
#
# Builds the Swift Package.
#

mas_dir="$(readlink -fn "$(dirname "${BASH_SOURCE:-"${0}"}")/..")"

if ! cd -- "${mas_dir}"; then
  printf $'Error: Could not cd into mas directory: %s\n' "${mas_dir}" >&2
  exit 1
fi

# Build for the host architecture by default.
ARCH=()
if [[ "${#}" -gt 1 && "${1}" == '--universal' ]]; then
  ARCH=(
    --arch arm64
    --arch x86_64
  )
fi

# Disable the manifest cache on Xcode 12.5 and later.
CACHE=()
if [[ "$(swift build --help)" =~ manifest-cache ]]; then
  CACHE=(--manifest-cache none)
fi

echo "==> 🏗️ Building mas ($(script/version --write))"
swift build \
  --configuration release \
  "${ARCH[@]+"${ARCH[@]}"}" \
  --disable-sandbox \
  "${CACHE[@]+"${CACHE[@]}"}"
