mirror of
https://github.com/syncthing/syncthing-android.git
synced 2024-11-25 22:01:16 +00:00
36fb216dcf
* Create tx_pull_all_translations.cmd * Add script: build_and_release.cmd * Workaround play-publisher issue 597 ref: https://github.com/Triple-T/gradle-play-publisher/issues/597 * Display generated APK versionCode after build * Create versions.gradle * postbuild_rename_apk: Get versionCode from "versions.gradle", copy instead of rename * Fix Workaround for GPP left-over process kill * Update build.gradle
94 lines
3.7 KiB
Batchfile
94 lines
3.7 KiB
Batchfile
@echo off
|
|
REM
|
|
REM Purpose:
|
|
REM Rename and move built APK's to match this style:
|
|
REM [APPLICATION_ID]_v[VERSION_NAME]_[COMMIT_SHORT_HASH].apk
|
|
REM Example:
|
|
REM com.github.catfriend1.syncthingandroid_v1.0.0.1_7d59e75.apk
|
|
REM
|
|
title %~nx0
|
|
setlocal enabledelayedexpansion
|
|
cls
|
|
SET SCRIPT_PATH=%~dps0
|
|
SET TEMP_OUTPUT_FOLDER=X:\
|
|
SET GIT_INSTALL_DIR=%ProgramFiles%\Git
|
|
SET GIT_BIN="%GIT_INSTALL_DIR%\bin\git.exe"
|
|
REM
|
|
SET PATH=%PATH%;"%GIT_INSTALL_DIR%\bin"
|
|
REM
|
|
REM Get "applicationId"
|
|
SET APPLICATION_ID=
|
|
FOR /F "tokens=2 delims= " %%A IN ('type "%SCRIPT_PATH%app\build.gradle" 2^>^&1 ^| findstr "applicationId"') DO SET APPLICATION_ID=%%A
|
|
SET APPLICATION_ID=%APPLICATION_ID:"=%
|
|
echo [INFO] applicationId="%APPLICATION_ID%"
|
|
REM
|
|
REM Get "versionMajor"
|
|
SET VERSION_MAJOR=
|
|
FOR /F "tokens=2 delims== " %%A IN ('type "%SCRIPT_PATH%app\versions.gradle" 2^>^&1 ^| findstr "versionMajor"') DO SET VERSION_MAJOR=%%A
|
|
SET VERSION_MAJOR=%VERSION_MAJOR:"=%
|
|
REM echo [INFO] versionMajor="%VERSION_MAJOR%"
|
|
REM
|
|
REM Get "versionMinor"
|
|
SET VERSION_MINOR=
|
|
FOR /F "tokens=2 delims== " %%A IN ('type "%SCRIPT_PATH%app\versions.gradle" 2^>^&1 ^| findstr "versionMinor"') DO SET VERSION_MINOR=%%A
|
|
SET VERSION_MINOR=%VERSION_MINOR:"=%
|
|
REM echo [INFO] versionMinor="%VERSION_MINOR%"
|
|
REM
|
|
REM Get "versionPatch"
|
|
SET VERSION_PATCH=
|
|
FOR /F "tokens=2 delims== " %%A IN ('type "%SCRIPT_PATH%app\versions.gradle" 2^>^&1 ^| findstr "versionPatch"') DO SET VERSION_PATCH=%%A
|
|
SET VERSION_PATCH=%VERSION_PATCH:"=%
|
|
REM echo [INFO] versionPatch="%VERSION_PATCH%"
|
|
REM
|
|
REM Get "versionWrapper"
|
|
SET VERSION_WRAPPER=
|
|
FOR /F "tokens=2 delims== " %%A IN ('type "%SCRIPT_PATH%app\versions.gradle" 2^>^&1 ^| findstr "versionWrapper"') DO SET VERSION_WRAPPER=%%A
|
|
SET VERSION_WRAPPER=%VERSION_WRAPPER:"=%
|
|
REM echo [INFO] versionWrapper="%VERSION_WRAPPER%"
|
|
REM
|
|
SET VERSION_NAME=%VERSION_MAJOR%.%VERSION_MINOR%.%VERSION_PATCH%.%VERSION_WRAPPER%
|
|
echo [INFO] VERSION_NAME=[%VERSION_NAME%]
|
|
REM
|
|
REM Get short hash of last commit.
|
|
IF NOT EXIST %GIT_BIN% echo [ERROR] git.exe not found. & pause & goto :eof
|
|
pushd %SCRIPT_PATH%
|
|
FOR /F "tokens=1" %%A IN ('git rev-parse --short --verify HEAD 2^>NUL:') DO SET COMMIT_SHORT_HASH=%%A
|
|
popd
|
|
echo [INFO] commit="%COMMIT_SHORT_HASH%"
|
|
REM
|
|
REM Copy APK to be ready for upload to the GitHub release page.
|
|
SET APK_GITHUB_NEW_FILENAME=%APPLICATION_ID%_v%VERSION_NAME%_%COMMIT_SHORT_HASH%.apk
|
|
REM call :renIfExist %SCRIPT_PATH%app\build\outputs\apk\debug\app-debug.apk %APK_GITHUB_NEW_FILENAME%
|
|
call :copyIfExist %SCRIPT_PATH%app\build\outputs\apk\debug\app-debug.apk %SCRIPT_PATH%app\build\outputs\apk\debug\%APK_GITHUB_NEW_FILENAME%
|
|
REM
|
|
SET APK_GPLAY_NEW_FILENAME=%APPLICATION_ID%_gplay_v%VERSION_NAME%_%COMMIT_SHORT_HASH%.apk
|
|
REM call :renIfExist %SCRIPT_PATH%app\build\outputs\apk\release\app-release.apk %APK_GPLAY_NEW_FILENAME%
|
|
call :copyIfExist %SCRIPT_PATH%app\build\outputs\apk\release\app-release.apk %SCRIPT_PATH%app\build\outputs\apk\release\%APK_GPLAY_NEW_FILENAME%
|
|
echo [INFO] APK file copy step complete.
|
|
REM
|
|
REM Copy both APK to temporary storage location if the storage is available.
|
|
IF EXIST %TEMP_OUTPUT_FOLDER% copy /y %SCRIPT_PATH%app\build\outputs\apk\debug\%APK_GITHUB_NEW_FILENAME% %TEMP_OUTPUT_FOLDER% 2> NUL:
|
|
IF EXIST %TEMP_OUTPUT_FOLDER% copy /y %SCRIPT_PATH%app\build\outputs\apk\release\%APK_GPLAY_NEW_FILENAME% %TEMP_OUTPUT_FOLDER% 2> NUL:
|
|
REM
|
|
echo [INFO] End of Script.
|
|
timeout 3
|
|
goto :eof
|
|
|
|
:copyIfExist
|
|
REM
|
|
REM Syntax:
|
|
REM call :copyIfExist [FULL_FN_ORIGINAL] [FILENAME_COPY_TARGET]
|
|
REM IF EXIST %1 REN %1 %2 & goto :eof
|
|
IF EXIST %1 copy /y %1 %2 & goto :eof
|
|
echo [INFO] File not found: %1
|
|
REM
|
|
goto :eof
|
|
|
|
:renIfExist
|
|
REM
|
|
REM Syntax:
|
|
REM call :renIfExist [FULL_FN_ORIGINAL] [FILENAME_RENAMED]
|
|
IF EXIST %1 REN %1 %2 & goto :eof
|
|
echo [INFO] File not found: %1
|
|
REM
|
|
goto :eof
|