Replace release.mk by release scripts
Since commit 2687d202809dfaafe8f40f613aec131ad9501433, the Makefile named release.mk stopped handling dependencies between recipes, because they have to be executed separately (from different Github Actions jobs). Using a Makefile no longer provides any real benefit. Replace it by several individual release scripts for simplicity and readability. Refs #5306 <https://github.com/Genymobile/scrcpy/pull/5306> PR #5515 <https://github.com/Genymobile/scrcpy/pull/5515>
This commit is contained in:
parent
dc82425769
commit
26bf209617
55
.github/workflows/release.yml
vendored
55
.github/workflows/release.yml
vendored
@ -6,11 +6,15 @@ on:
|
|||||||
name:
|
name:
|
||||||
description: 'Version name (default is ref name)'
|
description: 'Version name (default is ref name)'
|
||||||
|
|
||||||
|
env:
|
||||||
|
# $VERSION is used by release scripts
|
||||||
|
VERSION: ${{ github.event.inputs.name || github.ref_name }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-scrcpy-server:
|
build-scrcpy-server:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
GRADLE: gradle # use native gradle instead of ./gradlew in release.mk
|
GRADLE: gradle # use native gradle instead of ./gradlew in scripts
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@ -22,16 +26,16 @@ jobs:
|
|||||||
java-version: '17'
|
java-version: '17'
|
||||||
|
|
||||||
- name: Test scrcpy-server
|
- name: Test scrcpy-server
|
||||||
run: make -f release.mk test-server
|
run: release/test_server.sh
|
||||||
|
|
||||||
- name: Build scrcpy-server
|
- name: Build scrcpy-server
|
||||||
run: make -f release.mk build-server
|
run: release/build_server.sh
|
||||||
|
|
||||||
- name: Upload scrcpy-server artifact
|
- name: Upload scrcpy-server artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: scrcpy-server
|
name: scrcpy-server
|
||||||
path: build-server/server/scrcpy-server
|
path: release/work/build-server/server/scrcpy-server
|
||||||
|
|
||||||
test-client:
|
test-client:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -46,13 +50,8 @@ jobs:
|
|||||||
libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev \
|
libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev \
|
||||||
libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev
|
libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: |
|
|
||||||
meson setup d -Db_sanitize=address,undefined
|
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: |
|
run: release/test_client.sh
|
||||||
meson test -Cd
|
|
||||||
|
|
||||||
build-win32:
|
build-win32:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -71,14 +70,14 @@ jobs:
|
|||||||
- name: Workaround for old meson version run by Github Actions
|
- name: Workaround for old meson version run by Github Actions
|
||||||
run: sed -i 's/^pkg-config/pkgconfig/' cross_win32.txt
|
run: sed -i 's/^pkg-config/pkgconfig/' cross_win32.txt
|
||||||
|
|
||||||
- name: Build scrcpy win32
|
- name: Build win32
|
||||||
run: make -f release.mk build-win32
|
run: release/build_windows.sh 32
|
||||||
|
|
||||||
- name: Upload build-win32 artifact
|
- name: Upload build-win32 artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-win32-intermediate
|
name: build-win32-intermediate
|
||||||
path: build-win32/dist/
|
path: release/work/build-win32/dist/
|
||||||
|
|
||||||
build-win64:
|
build-win64:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -97,14 +96,14 @@ jobs:
|
|||||||
- name: Workaround for old meson version run by Github Actions
|
- name: Workaround for old meson version run by Github Actions
|
||||||
run: sed -i 's/^pkg-config/pkgconfig/' cross_win64.txt
|
run: sed -i 's/^pkg-config/pkgconfig/' cross_win64.txt
|
||||||
|
|
||||||
- name: Build scrcpy win64
|
- name: Build win64
|
||||||
run: make -f release.mk build-win64
|
run: release/build_windows.sh 64
|
||||||
|
|
||||||
- name: Upload build-win64 artifact
|
- name: Upload build-win64 artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-win64-intermediate
|
name: build-win64-intermediate
|
||||||
path: build-win64/dist/
|
path: release/work/build-win64/dist/
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs:
|
needs:
|
||||||
@ -112,9 +111,6 @@ jobs:
|
|||||||
- build-win32
|
- build-win32
|
||||||
- build-win64
|
- build-win64
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
|
||||||
# $VERSION is used by release.mk
|
|
||||||
VERSION: ${{ github.event.inputs.name || github.ref_name }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@ -123,25 +119,34 @@ jobs:
|
|||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: scrcpy-server
|
name: scrcpy-server
|
||||||
path: build-server/server/
|
path: release/work/build-server/server/
|
||||||
|
|
||||||
- name: Download build-win32
|
- name: Download build-win32
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-win32-intermediate
|
name: build-win32-intermediate
|
||||||
path: build-win32/dist/
|
path: release/work/build-win32/dist/
|
||||||
|
|
||||||
- name: Download build-win64
|
- name: Download build-win64
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-win64-intermediate
|
name: build-win64-intermediate
|
||||||
path: build-win64/dist/
|
path: release/work/build-win64/dist/
|
||||||
|
|
||||||
- name: Package
|
- name: Package server
|
||||||
run: make -f release.mk package
|
run: release/package_server.sh
|
||||||
|
|
||||||
|
- name: Package win32
|
||||||
|
run: release/package_client.sh win32
|
||||||
|
|
||||||
|
- name: Package win64
|
||||||
|
run: release/package_client.sh win64
|
||||||
|
|
||||||
|
- name: Generate checksums
|
||||||
|
run: release/generate_checksums.sh
|
||||||
|
|
||||||
- name: Upload release artifact
|
- name: Upload release artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: scrcpy-release-${{ env.VERSION }}
|
name: scrcpy-release-${{ env.VERSION }}
|
||||||
path: release-${{ env.VERSION }}
|
path: release/output
|
||||||
|
141
release.mk
141
release.mk
@ -1,141 +0,0 @@
|
|||||||
# This makefile provides recipes to build a "portable" version of scrcpy for
|
|
||||||
# Windows.
|
|
||||||
#
|
|
||||||
# Here, "portable" means that the client and server binaries are expected to be
|
|
||||||
# anywhere, but in the same directory, instead of well-defined separate
|
|
||||||
# locations (e.g. /usr/bin/scrcpy and /usr/share/scrcpy/scrcpy-server).
|
|
||||||
#
|
|
||||||
# In particular, this implies to change the location from where the client push
|
|
||||||
# the server to the device.
|
|
||||||
|
|
||||||
.PHONY: default clean \
|
|
||||||
test test-client test-server \
|
|
||||||
build-server \
|
|
||||||
prepare-deps-win32 prepare-deps-win64 \
|
|
||||||
build-win32 build-win64 \
|
|
||||||
zip-win32 zip-win64 \
|
|
||||||
package release
|
|
||||||
|
|
||||||
GRADLE ?= ./gradlew
|
|
||||||
|
|
||||||
TEST_BUILD_DIR := build-test
|
|
||||||
SERVER_BUILD_DIR := build-server
|
|
||||||
WIN32_BUILD_DIR := build-win32
|
|
||||||
WIN64_BUILD_DIR := build-win64
|
|
||||||
|
|
||||||
VERSION ?= $(shell git describe --tags --exclude='*install-release' --always)
|
|
||||||
|
|
||||||
ZIP := zip
|
|
||||||
WIN32_TARGET_DIR := scrcpy-win32-$(VERSION)
|
|
||||||
WIN64_TARGET_DIR := scrcpy-win64-$(VERSION)
|
|
||||||
WIN32_TARGET := $(WIN32_TARGET_DIR).zip
|
|
||||||
WIN64_TARGET := $(WIN64_TARGET_DIR).zip
|
|
||||||
|
|
||||||
RELEASE_DIR := release-$(VERSION)
|
|
||||||
|
|
||||||
release: clean test build-server build-win32 build-win64 package
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(GRADLE) clean
|
|
||||||
rm -rf "$(ZIP)" "$(TEST_BUILD_DIR)" "$(SERVER_BUILD_DIR)" \
|
|
||||||
"$(WIN32_BUILD_DIR)" "$(WIN64_BUILD_DIR)"
|
|
||||||
|
|
||||||
test-client:
|
|
||||||
[ -d "$(TEST_BUILD_DIR)" ] || ( mkdir "$(TEST_BUILD_DIR)" && \
|
|
||||||
meson setup "$(TEST_BUILD_DIR)" -Db_sanitize=address )
|
|
||||||
ninja -C "$(TEST_BUILD_DIR)"
|
|
||||||
|
|
||||||
test-server:
|
|
||||||
$(GRADLE) -p server check
|
|
||||||
|
|
||||||
test: test-client test-server
|
|
||||||
|
|
||||||
build-server:
|
|
||||||
$(GRADLE) -p server assembleRelease
|
|
||||||
mkdir -p "$(SERVER_BUILD_DIR)/server"
|
|
||||||
cp server/build/outputs/apk/release/server-release-unsigned.apk \
|
|
||||||
"$(SERVER_BUILD_DIR)/server/scrcpy-server"
|
|
||||||
|
|
||||||
prepare-deps-win32:
|
|
||||||
@app/deps/adb.sh win32
|
|
||||||
@app/deps/sdl.sh win32
|
|
||||||
@app/deps/ffmpeg.sh win32
|
|
||||||
@app/deps/libusb.sh win32
|
|
||||||
|
|
||||||
prepare-deps-win64:
|
|
||||||
@app/deps/adb.sh win64
|
|
||||||
@app/deps/sdl.sh win64
|
|
||||||
@app/deps/ffmpeg.sh win64
|
|
||||||
@app/deps/libusb.sh win64
|
|
||||||
|
|
||||||
build-win32: prepare-deps-win32
|
|
||||||
rm -rf "$(WIN32_BUILD_DIR)"
|
|
||||||
mkdir -p "$(WIN32_BUILD_DIR)/local"
|
|
||||||
meson setup "$(WIN32_BUILD_DIR)" \
|
|
||||||
--pkg-config-path="app/deps/work/install/win32/lib/pkgconfig" \
|
|
||||||
-Dc_args="-I$(PWD)/app/deps/work/install/win32/include" \
|
|
||||||
-Dc_link_args="-L$(PWD)/app/deps/work/install/win32/lib" \
|
|
||||||
--cross-file=cross_win32.txt \
|
|
||||||
--buildtype=release --strip -Db_lto=true \
|
|
||||||
-Dcompile_server=false \
|
|
||||||
-Dportable=true
|
|
||||||
ninja -C "$(WIN32_BUILD_DIR)"
|
|
||||||
# Group intermediate outputs into a 'dist' directory
|
|
||||||
mkdir -p "$(WIN32_BUILD_DIR)/dist"
|
|
||||||
cp "$(WIN32_BUILD_DIR)"/app/scrcpy.exe "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/scrcpy-console.bat "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/scrcpy-noconsole.vbs "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/icon.png "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/open_a_terminal_here.bat "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
cp app/deps/work/install/win32/bin/*.dll "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
cp app/deps/work/install/win32/bin/adb.exe "$(WIN32_BUILD_DIR)/dist/"
|
|
||||||
|
|
||||||
build-win64: prepare-deps-win64
|
|
||||||
rm -rf "$(WIN64_BUILD_DIR)"
|
|
||||||
mkdir -p "$(WIN64_BUILD_DIR)/local"
|
|
||||||
meson setup "$(WIN64_BUILD_DIR)" \
|
|
||||||
--pkg-config-path="app/deps/work/install/win64/lib/pkgconfig" \
|
|
||||||
-Dc_args="-I$(PWD)/app/deps/work/install/win64/include" \
|
|
||||||
-Dc_link_args="-L$(PWD)/app/deps/work/install/win64/lib" \
|
|
||||||
--cross-file=cross_win64.txt \
|
|
||||||
--buildtype=release --strip -Db_lto=true \
|
|
||||||
-Dcompile_server=false \
|
|
||||||
-Dportable=true
|
|
||||||
ninja -C "$(WIN64_BUILD_DIR)"
|
|
||||||
# Group intermediate outputs into a 'dist' directory
|
|
||||||
mkdir -p "$(WIN64_BUILD_DIR)/dist"
|
|
||||||
cp "$(WIN64_BUILD_DIR)"/app/scrcpy.exe "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/scrcpy-console.bat "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/scrcpy-noconsole.vbs "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/icon.png "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
cp app/data/open_a_terminal_here.bat "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
cp app/deps/work/install/win64/bin/*.dll "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
cp app/deps/work/install/win64/bin/adb.exe "$(WIN64_BUILD_DIR)/dist/"
|
|
||||||
|
|
||||||
zip-win32:
|
|
||||||
mkdir -p "$(ZIP)/$(WIN32_TARGET_DIR)"
|
|
||||||
cp -r "$(WIN32_BUILD_DIR)/dist/." "$(ZIP)/$(WIN32_TARGET_DIR)/"
|
|
||||||
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(ZIP)/$(WIN32_TARGET_DIR)/"
|
|
||||||
cd "$(ZIP)"; \
|
|
||||||
zip -r "$(WIN32_TARGET)" "$(WIN32_TARGET_DIR)"
|
|
||||||
rm -rf "$(ZIP)/$(WIN32_TARGET_DIR)"
|
|
||||||
|
|
||||||
zip-win64:
|
|
||||||
mkdir -p "$(ZIP)/$(WIN64_TARGET_DIR)"
|
|
||||||
cp -r "$(WIN64_BUILD_DIR)/dist/." "$(ZIP)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(ZIP)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cd "$(ZIP)"; \
|
|
||||||
zip -r "$(WIN64_TARGET)" "$(WIN64_TARGET_DIR)"
|
|
||||||
rm -rf "$(ZIP)/$(WIN64_TARGET_DIR)"
|
|
||||||
|
|
||||||
package: zip-win32 zip-win64
|
|
||||||
mkdir -p "$(RELEASE_DIR)"
|
|
||||||
cp "$(SERVER_BUILD_DIR)/server/scrcpy-server" \
|
|
||||||
"$(RELEASE_DIR)/scrcpy-server-$(VERSION)"
|
|
||||||
cp "$(ZIP)/$(WIN32_TARGET)" "$(RELEASE_DIR)"
|
|
||||||
cp "$(ZIP)/$(WIN64_TARGET)" "$(RELEASE_DIR)"
|
|
||||||
cd "$(RELEASE_DIR)" && \
|
|
||||||
sha256sum "scrcpy-server-$(VERSION)" \
|
|
||||||
"scrcpy-win32-$(VERSION).zip" \
|
|
||||||
"scrcpy-win64-$(VERSION).zip" > SHA256SUMS.txt
|
|
||||||
@echo "Release generated in $(RELEASE_DIR)/"
|
|
@ -1,2 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
make -f release.mk
|
|
2
release/.gitignore
vendored
Normal file
2
release/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/work
|
||||||
|
/output
|
5
release/build_common
Normal file
5
release/build_common
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# This file must be sourced from the release scripts directory
|
||||||
|
WORK_DIR="$PWD/work"
|
||||||
|
OUTPUT_DIR="$PWD/output"
|
||||||
|
|
||||||
|
VERSION="${VERSION:-$(git describe --tags --always)}"
|
14
release/build_server.sh
Executable file
14
release/build_server.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
. build_common
|
||||||
|
cd .. # root project dir
|
||||||
|
|
||||||
|
GRADLE="${GRADLE:-./gradlew}"
|
||||||
|
SERVER_BUILD_DIR="$WORK_DIR/build-server"
|
||||||
|
|
||||||
|
rm -rf "$SERVER_BUILD_DIR"
|
||||||
|
"$GRADLE" -p server assembleRelease
|
||||||
|
mkdir -p "$SERVER_BUILD_DIR/server"
|
||||||
|
cp server/build/outputs/apk/release/server-release-unsigned.apk \
|
||||||
|
"$SERVER_BUILD_DIR/server/scrcpy-server"
|
51
release/build_windows.sh
Executable file
51
release/build_windows.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
32)
|
||||||
|
WINXX=win32
|
||||||
|
;;
|
||||||
|
64)
|
||||||
|
WINXX=win64
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: $0 must be called with one argument: 32 or 64" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
. build_common
|
||||||
|
cd .. # root project dir
|
||||||
|
|
||||||
|
WINXX_BUILD_DIR="$WORK_DIR/build-$WINXX"
|
||||||
|
|
||||||
|
app/deps/adb.sh $WINXX
|
||||||
|
app/deps/sdl.sh $WINXX
|
||||||
|
app/deps/ffmpeg.sh $WINXX
|
||||||
|
app/deps/libusb.sh $WINXX
|
||||||
|
|
||||||
|
DEPS_INSTALL_DIR="$PWD/app/deps/work/install/$WINXX"
|
||||||
|
|
||||||
|
rm -rf "$WINXX_BUILD_DIR"
|
||||||
|
meson setup "$WINXX_BUILD_DIR" \
|
||||||
|
--pkg-config-path="$DEPS_INSTALL_DIR/lib/pkgconfig" \
|
||||||
|
-Dc_args="-I$DEPS_INSTALL_DIR/include" \
|
||||||
|
-Dc_link_args="-L$DEPS_INSTALL_DIR/lib" \
|
||||||
|
--cross-file=cross_$WINXX.txt \
|
||||||
|
--buildtype=release \
|
||||||
|
--strip \
|
||||||
|
-Db_lto=true \
|
||||||
|
-Dcompile_server=false \
|
||||||
|
-Dportable=true
|
||||||
|
ninja -C "$WINXX_BUILD_DIR"
|
||||||
|
|
||||||
|
# Group intermediate outputs into a 'dist' directory
|
||||||
|
mkdir -p "$WINXX_BUILD_DIR/dist"
|
||||||
|
cp "$WINXX_BUILD_DIR"/app/scrcpy.exe "$WINXX_BUILD_DIR/dist/"
|
||||||
|
cp app/data/scrcpy-console.bat "$WINXX_BUILD_DIR/dist/"
|
||||||
|
cp app/data/scrcpy-noconsole.vbs "$WINXX_BUILD_DIR/dist/"
|
||||||
|
cp app/data/icon.png "$WINXX_BUILD_DIR/dist/"
|
||||||
|
cp app/data/open_a_terminal_here.bat "$WINXX_BUILD_DIR/dist/"
|
||||||
|
cp "$DEPS_INSTALL_DIR"/bin/*.dll "$WINXX_BUILD_DIR/dist/"
|
||||||
|
cp "$DEPS_INSTALL_DIR"/bin/adb.exe "$WINXX_BUILD_DIR/dist/"
|
11
release/generate_checksums.sh
Executable file
11
release/generate_checksums.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
. build_common
|
||||||
|
|
||||||
|
cd "$OUTPUT_DIR"
|
||||||
|
sha256sum "scrcpy-server-$VERSION" \
|
||||||
|
"scrcpy-win32-$VERSION.zip" \
|
||||||
|
"scrcpy-win64-$VERSION.zip" \
|
||||||
|
| tee SHA256SUMS.txt
|
||||||
|
echo "Release checksums generated in $PWD/SHA256SUMS.txt"
|
32
release/package_client.sh
Executable file
32
release/package_client.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
. build_common
|
||||||
|
cd .. # root project dir
|
||||||
|
|
||||||
|
if [[ $# != 1 ]]
|
||||||
|
then
|
||||||
|
# <target_name>: for example win64
|
||||||
|
echo "Syntax: $0 <target>" >&2
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
BUILD_DIR="$WORK_DIR/build-$1"
|
||||||
|
ARCHIVE_DIR="$BUILD_DIR/release-archive"
|
||||||
|
TARGET="scrcpy-$1-$VERSION"
|
||||||
|
|
||||||
|
rm -rf "$ARCHIVE_DIR/$TARGET"
|
||||||
|
mkdir -p "$ARCHIVE_DIR/$TARGET"
|
||||||
|
|
||||||
|
cp -r "$BUILD_DIR/dist/." "$ARCHIVE_DIR/$TARGET/"
|
||||||
|
cp "$WORK_DIR/build-server/server/scrcpy-server" "$ARCHIVE_DIR/$TARGET/"
|
||||||
|
|
||||||
|
mkdir -p "$OUTPUT_DIR"
|
||||||
|
|
||||||
|
cd "$ARCHIVE_DIR"
|
||||||
|
rm -f "$OUTPUT_DIR/$TARGET.zip"
|
||||||
|
zip -r "$OUTPUT_DIR/$TARGET.zip" "$TARGET"
|
||||||
|
rm -rf "$TARGET"
|
||||||
|
cd -
|
||||||
|
echo "Generated '$OUTPUT_DIR/$TARGET.zip'"
|
10
release/package_server.sh
Executable file
10
release/package_server.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
OUTPUT_DIR="$PWD/output"
|
||||||
|
. build_common
|
||||||
|
cd .. # root project dir
|
||||||
|
|
||||||
|
mkdir -p "$OUTPUT_DIR"
|
||||||
|
cp "$WORK_DIR/build-server/server/scrcpy-server" "$OUTPUT_DIR/scrcpy-server-$VERSION"
|
||||||
|
echo "Generated '$OUTPUT_DIR/scrcpy-server-$VERSION'"
|
22
release/release.sh
Executable file
22
release/release.sh
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# To customize the version name:
|
||||||
|
# VERSION=myversion ./release.sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
rm -rf output
|
||||||
|
|
||||||
|
./test_server.sh
|
||||||
|
./test_client.sh
|
||||||
|
|
||||||
|
./build_server.sh
|
||||||
|
./build_windows.sh 32
|
||||||
|
./build_windows.sh 64
|
||||||
|
|
||||||
|
./package_server.sh
|
||||||
|
./package_client.sh win32
|
||||||
|
./package_client.sh win64
|
||||||
|
|
||||||
|
./generate_checksums.sh
|
||||||
|
|
||||||
|
echo "Release generated in $PWD/output"
|
12
release/test_client.sh
Executable file
12
release/test_client.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
. build_common
|
||||||
|
cd .. # root project dir
|
||||||
|
|
||||||
|
TEST_BUILD_DIR="$WORK_DIR/build-test"
|
||||||
|
|
||||||
|
rm -rf "$TEST_BUILD_DIR"
|
||||||
|
meson setup "$TEST_BUILD_DIR" -Dcompile_server=false \
|
||||||
|
-Db_sanitize=address,undefined
|
||||||
|
ninja -C "$TEST_BUILD_DIR" test
|
9
release/test_server.sh
Executable file
9
release/test_server.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
||||||
|
. build_common
|
||||||
|
cd .. # root project dir
|
||||||
|
|
||||||
|
GRADLE="${GRADLE:-./gradlew}"
|
||||||
|
|
||||||
|
"$GRADLE" -p server check
|
Loading…
x
Reference in New Issue
Block a user