62 lines
No EOL
2.5 KiB
Batchfile
62 lines
No EOL
2.5 KiB
Batchfile
@echo off
|
||
cd /d %~dp0
|
||
|
||
set CurrDirName=🕹️cube-tube
|
||
for /F %%a IN ('powershell -command "$([guid]::NewGuid().ToString().toUpper())"') DO (set newProductCode=%%a)
|
||
for /F %%a IN ('powershell -command "$([guid]::NewGuid().ToString().toUpper())"') DO (set newPackageCode=%%a)
|
||
|
||
@setlocal ENABLEEXTENSIONS
|
||
|
||
@set version=0
|
||
@for /F "tokens=*" %%A in (./metadata/game_metadata.txt) do @call :CheckForVersion "%%A"
|
||
|
||
cd .dragonruby
|
||
@echo on
|
||
dragonruby-publish --only-package ../%CurrDirName%
|
||
@echo off
|
||
cd builds
|
||
|
||
if exist ./%CurrDirName%-windows-amd64.exe (
|
||
if exist ../../%CurrDirName%/installer/installer.vdproj (
|
||
echo "Building windows installer..."
|
||
for /F "tokens=* USEBACKQ" %%t IN (`findstr /c:"%version%" ..\..\%CurrDirName%\installer\installer.vdproj`) do (SET OldVersion=%%t)
|
||
if defined OldVersion (
|
||
echo "version already the same"
|
||
) else (
|
||
echo "need to update version & product/package codes (%version%, %newProductCode%, %newPackageCode%)"
|
||
powershell -Command "(Get-Content ../../%CurrDirName%/installer/installer.vdproj) | Foreach-Object { $_ -replace '""""ProductCode"""" = """"8:\{.*\}""""$', '""""ProductCode"""" = """"8:{%newProductCode%}""""' -replace '""""PackageCode"""" = """"8:\{.*\}""""$', '""""PackageCode"""" = """"8:{%newPackageCode%}""""' -replace '""""ProductVersion"""" = """"8:.+""""$', '""""ProductVersion"""" = """"8:%version%""' } | Out-File -encoding UTF8 ../../%CurrDirName%/installer/installer.vdproj"
|
||
)
|
||
call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe" ..\..\%CurrDirName%\installer\installer.sln /build Release
|
||
) else (
|
||
ECHO "no installer project?"
|
||
ECHO ../../%CurrDirName%/installer/installer.vdproj
|
||
)
|
||
) else (
|
||
ECHO "no exe?"
|
||
ECHO ./%CurrDirName%-windows-amd64.exe
|
||
)
|
||
|
||
if not exist ./%CurrDirName%.keystore (
|
||
echo "no keystore, generating keys"
|
||
keytool -genkey -v -keystore %CurrDirName%.keystore -alias %CurrDirName% -keyalg RSA -keysize 2048 -validity 10000
|
||
)
|
||
if exist ./%CurrDirName%-android.apk (
|
||
echo "Signing apk..."
|
||
call "C:\Program Files (x86)\Android\android-sdk\build-tools\32.0.0\apksigner.bat" sign -ks %CurrDirName%.keystore %CurrDirName%-android.apk
|
||
echo "Signing aab..."
|
||
call jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore %CurrDirName%.keystore %CurrDirName%-googleplay.aab %CurrDirName%
|
||
) else (
|
||
ECHO "no apk?"
|
||
ECHO ./%CurrDirName%-android.apk
|
||
)
|
||
|
||
ECHO "All done!"
|
||
explorer.exe %cd%
|
||
PAUSE
|
||
@exit /b 0
|
||
|
||
:CheckForVersion
|
||
@set _line=%~1
|
||
@set _linePrefeix=%_line:~0,8%
|
||
@if "%_linePrefeix%" equ "version=" (@set version="%_line:~8%")
|
||
@exit /b 0 |