#!/bin/bash -e ROOT=`dirname $0` RELEASE="" CI=${CI:-false} cd "$ROOT/.." POSITIONAL=() SKIP_EXE_BUILD=false while [[ $# -gt 0 ]]; do key="$1" case $key in --release) RELEASE="production" shift ;; --skip-exe-build) SKIP_EXE_BUILD=true shift ;; *) POSITIONAL+=("$1") shift ;; esac done set -- "${POSITIONAL[@]}" # Get translations echo "Updating translations..." if ! [ -d packages/desktop-client/locale ]; then git clone https://github.com/actualbudget/translations packages/desktop-client/locale fi pushd packages/desktop-client/locale > /dev/null git pull popd > /dev/null packages/desktop-client/bin/remove-untranslated-languages export NODE_OPTIONS="--max-old-space-size=4096" yarn workspace loot-core build:node yarn workspace @actual-app/web build --mode=desktop # electron specific build # required for running the sync-server server yarn workspace loot-core build:browser yarn workspace @actual-app/web build:browser yarn workspace @actual-app/sync-server build yarn workspace desktop-electron update-client ( cd packages/desktop-electron; yarn clean; if [ $SKIP_EXE_BUILD == true ]; then echo "Building the dist" yarn build:dist echo "Skipping exe build" else if [ "$RELEASE" == "production" ]; then if [ -f ../../.secret-tokens ]; then source ../../.secret-tokens fi yarn build echo "Created release" else SKIP_NOTARIZATION=true yarn build fi fi )