diff options
| author | Lena <lena@omega> | 2026-08-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-08-01 00:00:00 +0000 |
| commit | 827653aa291e37ae63c0cfa1eee4fbaa20cea122 (patch) | |
| tree | 20f874004e1676b055bc695d3b1483bef9932fe7 /scripts/build-server | |
| parent | dcda3f64e0822554f647ec73fa8b0252268b87a0 (diff) | |
| download | scrcpy-android-827653aa291e37ae63c0cfa1eee4fbaa20cea122.tar.gz | |
build: pin and verify release inputs
Diffstat (limited to 'scripts/build-server')
| -rwxr-xr-x | scripts/build-server | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/build-server b/scripts/build-server new file mode 100755 index 0000000..ddd814f --- /dev/null +++ b/scripts/build-server @@ -0,0 +1,34 @@ +#!/bin/sh +# Build the pinned scrcpy server source. + +set -eu + +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +SCRCPY="$ROOT/vendor/scrcpy" +VERSION_FILE="$ROOT/app/src/main/assets/scrcpy-server.version" +BUILD_FILE="$SCRCPY/server/build.gradle" +OUTPUT="$SCRCPY/server/build/outputs/apk/release/server-release-unsigned.apk" + +if [ ! -s "$BUILD_FILE" ]; then + echo "build-server: vendor/scrcpy is not initialized" >&2 + exit 1 +fi +if [ ! -s "$VERSION_FILE" ]; then + echo "build-server: missing $VERSION_FILE" >&2 + exit 1 +fi + +expected=$(cat "$VERSION_FILE") +declared=$(sed -n 's/.*versionName[ =]*"\([^"]*\)".*/\1/p' "$BUILD_FILE") +if [ -z "$declared" ] || [ "$declared" != "$expected" ]; then + echo "build-server: source version '$declared', asset version '$expected'" >&2 + exit 1 +fi + +echo "build-server: scrcpy $expected" >&2 +"$SCRCPY/gradlew" -p "$SCRCPY" --no-daemon :server:assembleRelease >&2 +if [ ! -s "$OUTPUT" ]; then + echo "build-server: Gradle did not produce $OUTPUT" >&2 + exit 1 +fi +printf '%s\n' "$OUTPUT" |