36 lines
1.6 KiB
Bash
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 |