aboutsummaryrefslogtreecommitdiff
path: root/scripts/build-server
blob: ddd814f6850d0fdebcd472946707fa001a673837 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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"