#!/usr/bin/env bash # App-specific installer and package assertions retained alongside shared packaging lint. set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")/.." for want in '' 'Value="InstallDirDlg"' '' \ 'Key="Software\LightCraft" Name="InstallFolder"' 'Value="LaunchLightcraft"'; do grep -qF "$want" packaging/windows/lightcraft.wxs || { echo "::error::lightcraft.wxs lost: $want"; exit 1; } done grep -qF '' packaging/windows/lightcraft.wxs \ || { echo "::error::ExitDialog is not referenced; installs and removes end without a completion dialog"; exit 1; } python3 - <<'PYEOF' import yaml manifests = [] for name in ("ai.storyteller.lightcraft.yml", "ai.storyteller.lightcraft.bundle.yml"): with open("packaging/linux/flatpak/" + name) as source: manifest = yaml.safe_load(source) assert manifest["id"] == "ai.storyteller.lightcraft" and manifest["command"] == "lightcraft", name manifests.append(manifest) for key in ("runtime", "runtime-version", "sdk", "finish-args"): assert manifests[0][key] == manifests[1][key], f"Flatpak manifests disagree on {key}" print("LightCraft package identity ok") PYEOF