#!/bin/sh # Builds the Snap Store package. Needs snapcraft and LXD. Run from anywhere; kestrove-core must sit next to this repo. # The snap is built from a copy, because snapcraft only sees files under the project and the app needs both repos. # # scripts/snap.sh writes kestrove__amd64.snap to ../release/desktop set -eu cd "$(dirname "$0")/../.." OUT=$(pwd)/release/desktop WORK=$(mktemp -d "${TMPDIR:-$HOME}/kestrove-snap.XXXXXX") trap 'rm -rf "$WORK"' EXIT tar --exclude=node_modules --exclude=target --exclude=dist --exclude=.git -cf - kestrove-core kestrove-desktop | tar -xf - -C "$WORK" cp -r kestrove-desktop/snap "$WORK/snap" mkdir -p "$OUT" (cd "$WORK" && snapcraft pack && cp kestrove_*.snap "$OUT/") ls -la "$OUT"/kestrove_*.snap