aboutsummaryrefslogtreecommitdiff
path: root/scripts/check-server-source
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/check-server-source
parentdcda3f64e0822554f647ec73fa8b0252268b87a0 (diff)
downloadscrcpy-android-827653aa291e37ae63c0cfa1eee4fbaa20cea122.tar.gz
build: pin and verify release inputs
Diffstat (limited to 'scripts/check-server-source')
-rwxr-xr-xscripts/check-server-source27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/check-server-source b/scripts/check-server-source
new file mode 100755
index 0000000..47d161a
--- /dev/null
+++ b/scripts/check-server-source
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Build and test the pinned scrcpy server, then compare its executable dex
+# with the bundled upstream release.
+
+set -eu
+
+ROOT="$(cd "$(dirname "$0")/.." && pwd)"
+SCRCPY="$ROOT/vendor/scrcpy"
+OFFICIAL="$ROOT/app/src/main/assets/scrcpy-server.jar"
+
+"$ROOT/scripts/check-server"
+built=$("$ROOT/scripts/build-server")
+
+echo "check-server-source: unit, lint, checkstyle" >&2
+"$SCRCPY/gradlew" -p "$SCRCPY" --no-daemon \
+ :server:testDebugUnitTest :server:lint :server:checkstyle >&2
+
+tmp=$(mktemp -d)
+trap 'rm -rf "$tmp"' EXIT INT TERM
+unzip -p "$OFFICIAL" classes.dex >"$tmp/official.dex"
+unzip -p "$built" classes.dex >"$tmp/source.dex"
+if ! cmp -s "$tmp/official.dex" "$tmp/source.dex"; then
+ echo "check-server-source: source dex differs from upstream release" >&2
+ sha256sum "$tmp/official.dex" "$tmp/source.dex" >&2
+ exit 1
+fi
+echo "check-server-source: ok"