#!/usr/bin/env bash # Monta o Z.E.A.L.O.T.S. (stcucufa, 7DRL 2024, MIT) a partir do commit fecadd3 de github.com/stcucufa/zealots: so a pasta # 7drl/ (index.html, game.js e style.css, sem mudancas; o jogo e JavaScript puro sem build) e o LICENSE. A pagina da # raiz do repositorio (texto de apresentacao, capa e links para itch.io e GitHub) nao entra: as criaturas do jogo sao # letras na tela e os nomes de personagens de terceiros citados nesse texto nao aparecem no jogo. # # src/FredGames.Bundler/Builds/build-zealots.sh # # Saida: artifacts/build/zealots-fecadd3/zealots-fecadd3-dist.tar.gz (pasta dist/; igual em dois builds seguidos). set -euo pipefail COMMIT=fecadd323b8374ff10c2d05b40a19425a414b93a SHA256=907b965b892290407ed10e29f65b924397ecb5fef25c67d1f5db1e3b84126e53 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/zealots-${COMMIT:0:7}" cache="$root/artifacts/build/cache" tarball="zealots-${COMMIT:0:7}.tar.gz" mkdir -p "$cache" [ -f "$cache/$tarball" ] || curl -fsSL --retry 4 "https://github.com/stcucufa/zealots/archive/$COMMIT.tar.gz" -o "$cache/$tarball" echo "$SHA256 $cache/$tarball" | shasum -a 256 -c - >/dev/null rm -rf "$out" mkdir -p "$out/tree" "$out/dist" tar -xzf "$cache/$tarball" -C "$out/tree" --strip-components 1 for f in index.html game.js style.css; do cp "$out/tree/7drl/$f" "$out/dist/$f"; done cp "$out/tree/LICENSE" "$out/dist/LICENSE" find "$out/dist" -exec touch -t 202510300000 {} + ( cd "$out" && find dist -type f | LC_ALL=C sort > files.txt \ && COPYFILE_DISABLE=1 tar --format=ustar --uid 0 --gid 0 --uname root --gname root -n -cf - -T files.txt \ | gzip -n -9 > "zealots-${COMMIT:0:7}-dist.tar.gz" && rm files.txt ) rm -rf "$out/tree" ls -l "$out/zealots-${COMMIT:0:7}-dist.tar.gz" shasum -a 256 "$out/zealots-${COMMIT:0:7}-dist.tar.gz"