Build offline OpenPrestige release bundles

Rename the injector and package it with an embedded payload for Windows, Linux, and macOS x64/ARM64. Add a core-only ImGui native build, multi-platform CI and release packaging, and shared per-user storage with legacy config migration.
This commit is contained in:
bbldrizzy committed 2026-11-03 18:45:13 +00:00
1 parent 5152e6e0a6
commit 2d6b2a3cd1
37 files changed
+1284 -451

No files matched your search

+6 -16
View File
@@ -1,34 +1,24 @@
#!/bin/sh
# Builds the Prestige payload jar (remapped for the production Fabric runtime), then the Rust injector and loader
# library, and collects PrestigeInjector + libprestige_native.{so,dylib} in dist/.
# Optional: set JAVA_HOME to pick the JDK used by Gradle.
# Build OpenPrestige for the current host. Optional JAVA_HOME selects the Gradle JDK.
set -eu
cd "$(dirname "$0")"
case "$(uname -s)" in
Linux) LIB=libprestige_native.so ;;
Linux) LIB=libprestige_native.so ;;
Darwin) LIB=libprestige_native.dylib ;;
*) echo "unsupported OS: $(uname -s) (use build-injector.ps1 on Windows)" >&2; exit 1 ;;
*) echo "Use build-injector.ps1 on Windows" >&2; exit 1 ;;
esac
if [ -n "${JAVA_HOME:-}" ]; then
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH
fi
./gradlew remapJar --console=plain
cargo build --release --manifest-path injector/Cargo.toml
mkdir -p dist
cp -f "injector/target/release/PrestigeInjector" "injector/target/release/$LIB" dist/
chmod +x dist/PrestigeInjector
# the same remapped jar is the Fabric mod (drop it into mods/)
cp -f "injector/target/release/OpenPrestigeInjector" "injector/target/release/$LIB" dist/
chmod +x dist/OpenPrestigeInjector
for jar in build/libs/prestige-*.jar; do
case "$jar" in *-dev.jar|*-sources.jar) continue ;; esac
cp -f "$jar" dist/
done
echo "Done: dist/PrestigeInjector + dist/$LIB + dist/prestige-*.jar (Fabric mod)"
echo "Done: dist/OpenPrestigeInjector + dist/$LIB + Fabric mod JAR"