tauri-apps/buildall.sh

36 lines
1.6 KiB
Bash

#!/bin/sh
export FS_DIR_CACHE_ROOT="/data/.cache/fs-dir-cache" # directory to hold all cache (sub)directories
export FS_DIR_CACHE_LOCK_ID="pid-$$-rnd-$RANDOM" # acquire lock based on the current pid and something random (just in case pid gets reused)
export FS_DIR_CACHE_KEY_NAME="build-project-x" # the base name of our key
export 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/icons
wget $(jq -r .icon < ../../data.json) -O icon.svg
inkscape icon.svg --export-filename=icon.png --export-width=1024
convert -background none icon.png -gravity center -extent 1024x1024 icon-square.png
cd ..
#this is completely unusable with tauri at the moment
#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 --target-dir="${cache_dir}/target"
cargo tauri build --target x86_64-pc-windows-msvc
cargo tauri build --target x86_64-apple-darwin
cd ..
cd ..
done