#!/usr/bin/env bash # Build dist/petrolyst-theme.jar, ready for Keycloak's providers/ folder. Pass the folder holding Satoshi-Variable.woff2 (normally # petrolyst-platform/web/src/fonts/satoshi, fetched there from Fontshare). The font goes only into the built file, never into Git: # its licence forbids distributing it. Without it, the pages fall back to Inter. set -euo pipefail HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SATOSHI="${1:-}" WORK="$(mktemp -d "${TMPDIR:-/tmp}/petrolyst-theme.XXXXXX")"; trap 'rm -rf "$WORK"' EXIT mkdir -p "$WORK/META-INF" "$WORK/theme" cp -R "$HERE/petrolyst" "$WORK/theme/petrolyst" find "$WORK" -name .DS_Store -delete if [ -n "$SATOSHI" ]; then cp "$SATOSHI/Satoshi-Variable.woff2" "$WORK/theme/petrolyst/login/resources/fonts/"; else echo "no Satoshi folder given: headings fall back to Inter"; fi printf '{"themes":[{"name":"petrolyst","types":["login"]}]}\n' > "$WORK/META-INF/keycloak-themes.json" mkdir -p "$HERE/dist"; rm -f "$HERE/dist/petrolyst-theme.jar" (cd "$WORK" && zip -qr "$HERE/dist/petrolyst-theme.jar" META-INF theme) echo "built $HERE/dist/petrolyst-theme.jar"