aboutsummaryrefslogtreecommitdiff
path: root/scripts/build-server
diff options
context:
space:
mode:
authorLena <lena@omega>2026-08-01 00:00:00 +0000
committerLena <lena@omega>2026-08-01 00:00:00 +0000
commit827653aa291e37ae63c0cfa1eee4fbaa20cea122 (patch)
tree20f874004e1676b055bc695d3b1483bef9932fe7 /scripts/build-server
parentdcda3f64e0822554f647ec73fa8b0252268b87a0 (diff)
downloadscrcpy-android-827653aa291e37ae63c0cfa1eee4fbaa20cea122.tar.gz
build: pin and verify release inputs
Diffstat (limited to 'scripts/build-server')
-rwxr-xr-xscripts/build-server34
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"