#!/usr/bin/env bash # Gera o breakout-blue.pgapp do Breakout Blue (mit-mit e Lucid Design Art, PyWeek 27, agosto de 2018) a partir do zip # original do PyWeek (sha256 abaixo), com um patch (breakout-blue/web.patch): laco principal assincrono (exigido pelo # pygbag), o "Quit" do titulo nao faz nada, o progresso vai para /saves, e o main.py da raiz (o do jogo vira # src/bb_main.py). Fora do .pgapp: o editor de fases (so usa Tk), o README.md repetido, __MACOSX, os .pyc e o .DS_Store. # Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-breakout-blue.sh # # Saida: artifacts/build/breakout-blue/breakout-blue.pgapp set -euo pipefail SHA256=7138a1a2ef3a102d5a3abaad8fd7dc8f3ad5d66b6002237d9825dc7a6ddd64a7 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/breakout-blue" cache="$root/artifacts/build/cache" mkdir -p "$cache" zip="$cache/Breakout_Blue_pyweek27_final.zip" [ -f "$zip" ] || curl -fsSL "https://s3.eu-west-2.amazonaws.com/media.pyweek.org/27/chimera-27/Breakout_Blue_pyweek27_final.zip" -o "$zip" echo "$SHA256 $zip" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" unzip -q "$zip" -d "$out/tree" -x '__MACOSX/*' g="$out/tree/Breakout_Blue_pyweek27" rm -f "$g/src/level_editor.py" "$g/src/level_editor_old.py" "$g/run_leveleditor.py" "$g/README.md" find "$g" \( -name __pycache__ -o -name .DS_Store \) -prune -exec rm -rf {} + patch -d "$g" -p1 < "$here/breakout-blue/web.patch" python3 -I "$here/pgapp.py" "$g" "$out/breakout-blue.pgapp" shasum -a 256 "$out/breakout-blue.pgapp"