#!/bin/sh FS_DIR_CACHE_ROOT="$HOME/.cache/fs-dir-cache" # directory to hold all cache (sub)directories FS_DIR_CACHE_LOCK_ID="pid-$$-rnd-$RANDOM" # acquire lock based on the current pid and something random (just in case pid gets reused) FS_DIR_CACHE_KEY_NAME="build-project-x" # the base name of our key FS_DIR_CACHE_LOCK_TIMEOUT_SECS="3600" # unlock after timeout (1h) in case our job fails misereably cargo install fs-dir-cache mkdir -p app for i in $(seq 0 $(expr $(jq '. | length' < apps.json) - 1)); do jq ".[$i]" < apps.json > app/data.json cd app #rm -rf * mkdir -p src for t in ../template/src/*; do $HOME/bin/gotempl --data-json data.json< $t > src/$(basename $t) done cp -r ../template/src-tauri . $HOME/bin/gotempl --data-json data.json< ../template/src-tauri/Cargo.toml > src-tauri/Cargo.toml $HOME/bin/gotempl --data-json data.json< ../template/src-tauri/tauri.conf.json > src-tauri/tauri.conf.json cd src-tauri fs-dir-cache gc unused --seconds "$((7 * 24 * 60 * 60))" # delete caches not used in more than a week cache_dir=$(fs-dir-cache lock --key-file Cargo.toml) trap "fs-dir-cache unlock --dir ${cache_dir}" EXIT cargo tauri build cargo tauri build --target i686-pc-windows-msvc cd .. cd .. done