mirror of https://github.com/Genymobile/scrcpy
Rework release.mk for CI
Make it possible to build scrcpy-server and Windows binaries in parallel from different GitHub Actions workflows, and to package everything as a final step. PR #5306 <https://github.com/Genymobile/scrcpy/pull/5306>
This commit is contained in:
parent
9c0a328498
commit
2687d20280
87
release.mk
87
release.mk
|
@ -13,9 +13,8 @@
|
||||||
build-server \
|
build-server \
|
||||||
prepare-deps-win32 prepare-deps-win64 \
|
prepare-deps-win32 prepare-deps-win64 \
|
||||||
build-win32 build-win64 \
|
build-win32 build-win64 \
|
||||||
dist-win32 dist-win64 \
|
|
||||||
zip-win32 zip-win64 \
|
zip-win32 zip-win64 \
|
||||||
release
|
package release
|
||||||
|
|
||||||
GRADLE ?= ./gradlew
|
GRADLE ?= ./gradlew
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ WIN64_BUILD_DIR := build-win64
|
||||||
|
|
||||||
VERSION ?= $(shell git describe --tags --exclude='*install-release' --always)
|
VERSION ?= $(shell git describe --tags --exclude='*install-release' --always)
|
||||||
|
|
||||||
DIST := dist
|
ZIP := zip
|
||||||
WIN32_TARGET_DIR := scrcpy-win32-$(VERSION)
|
WIN32_TARGET_DIR := scrcpy-win32-$(VERSION)
|
||||||
WIN64_TARGET_DIR := scrcpy-win64-$(VERSION)
|
WIN64_TARGET_DIR := scrcpy-win64-$(VERSION)
|
||||||
WIN32_TARGET := $(WIN32_TARGET_DIR).zip
|
WIN32_TARGET := $(WIN32_TARGET_DIR).zip
|
||||||
|
@ -34,21 +33,11 @@ WIN64_TARGET := $(WIN64_TARGET_DIR).zip
|
||||||
|
|
||||||
RELEASE_DIR := release-$(VERSION)
|
RELEASE_DIR := release-$(VERSION)
|
||||||
|
|
||||||
release: clean test build-server zip-win32 zip-win64
|
release: clean test build-server build-win32 build-win64 package
|
||||||
mkdir -p "$(RELEASE_DIR)"
|
|
||||||
cp "$(SERVER_BUILD_DIR)/server/scrcpy-server" \
|
|
||||||
"$(RELEASE_DIR)/scrcpy-server-$(VERSION)"
|
|
||||||
cp "$(DIST)/$(WIN32_TARGET)" "$(RELEASE_DIR)"
|
|
||||||
cp "$(DIST)/$(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)/"
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(GRADLE) clean
|
$(GRADLE) clean
|
||||||
rm -rf "$(DIST)" "$(TEST_BUILD_DIR)" "$(SERVER_BUILD_DIR)" \
|
rm -rf "$(ZIP)" "$(TEST_BUILD_DIR)" "$(SERVER_BUILD_DIR)" \
|
||||||
"$(WIN32_BUILD_DIR)" "$(WIN64_BUILD_DIR)"
|
"$(WIN32_BUILD_DIR)" "$(WIN64_BUILD_DIR)"
|
||||||
|
|
||||||
test-client:
|
test-client:
|
||||||
|
@ -91,6 +80,15 @@ build-win32: prepare-deps-win32
|
||||||
-Dcompile_server=false \
|
-Dcompile_server=false \
|
||||||
-Dportable=true
|
-Dportable=true
|
||||||
ninja -C "$(WIN32_BUILD_DIR)"
|
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
|
build-win64: prepare-deps-win64
|
||||||
rm -rf "$(WIN64_BUILD_DIR)"
|
rm -rf "$(WIN64_BUILD_DIR)"
|
||||||
|
@ -104,33 +102,40 @@ build-win64: prepare-deps-win64
|
||||||
-Dcompile_server=false \
|
-Dcompile_server=false \
|
||||||
-Dportable=true
|
-Dportable=true
|
||||||
ninja -C "$(WIN64_BUILD_DIR)"
|
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/"
|
||||||
|
|
||||||
dist-win32: build-server build-win32
|
zip-win32:
|
||||||
mkdir -p "$(DIST)/$(WIN32_TARGET_DIR)"
|
mkdir -p "$(ZIP)/$(WIN32_TARGET_DIR)"
|
||||||
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(DIST)/$(WIN32_TARGET_DIR)/"
|
cp -r "$(WIN32_BUILD_DIR)/dist/." "$(ZIP)/$(WIN32_TARGET_DIR)/"
|
||||||
cp "$(WIN32_BUILD_DIR)"/app/scrcpy.exe "$(DIST)/$(WIN32_TARGET_DIR)/"
|
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(ZIP)/$(WIN32_TARGET_DIR)/"
|
||||||
cp app/data/scrcpy-console.bat "$(DIST)/$(WIN32_TARGET_DIR)/"
|
cd "$(ZIP)"; \
|
||||||
cp app/data/scrcpy-noconsole.vbs "$(DIST)/$(WIN32_TARGET_DIR)/"
|
|
||||||
cp app/data/icon.png "$(DIST)/$(WIN32_TARGET_DIR)/"
|
|
||||||
cp app/data/open_a_terminal_here.bat "$(DIST)/$(WIN32_TARGET_DIR)/"
|
|
||||||
cp app/deps/work/install/win32/bin/*.dll "$(DIST)/$(WIN32_TARGET_DIR)/"
|
|
||||||
cp app/deps/work/install/win32/bin/adb.exe "$(DIST)/$(WIN32_TARGET_DIR)/"
|
|
||||||
|
|
||||||
dist-win64: build-server build-win64
|
|
||||||
mkdir -p "$(DIST)/$(WIN64_TARGET_DIR)"
|
|
||||||
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp "$(WIN64_BUILD_DIR)"/app/scrcpy.exe "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp app/data/scrcpy-console.bat "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp app/data/scrcpy-noconsole.vbs "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp app/data/icon.png "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp app/data/open_a_terminal_here.bat "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp app/deps/work/install/win64/bin/*.dll "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
cp app/deps/work/install/win64/bin/adb.exe "$(DIST)/$(WIN64_TARGET_DIR)/"
|
|
||||||
|
|
||||||
zip-win32: dist-win32
|
|
||||||
cd "$(DIST)"; \
|
|
||||||
zip -r "$(WIN32_TARGET)" "$(WIN32_TARGET_DIR)"
|
zip -r "$(WIN32_TARGET)" "$(WIN32_TARGET_DIR)"
|
||||||
|
rm -rf "$(ZIP)/$(WIN32_TARGET_DIR)"
|
||||||
|
|
||||||
zip-win64: dist-win64
|
zip-win64:
|
||||||
cd "$(DIST)"; \
|
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)"
|
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)/"
|
||||||
|
|
Loading…
Reference in New Issue