From b5dceb9fd1e0f1539fd1aa5f3095392ae88ce3bb Mon Sep 17 00:00:00 2001 From: OMGeeky <> Date: Sat, 15 Feb 2025 23:32:36 +0100 Subject: [PATCH 1/5] Update package.sh to switch from tar.gz to zip for archive creation --- packaging/package.sh | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/packaging/package.sh b/packaging/package.sh index 94fe1f1..0b0a2fc 100755 --- a/packaging/package.sh +++ b/packaging/package.sh @@ -21,7 +21,6 @@ MANIFEST_LOCATION="${PACKAGING_DIR}/Manifest.txt" VERSION_FILE="${PACKAGING_DIR}/ATCS_latest" SOURCE_BASE_DIR="${ATCS_SOURCE_DIR}/src" # Base directory for standard source code LIB_BASE_DIR="${ATCS_SOURCE_DIR}/lib" # Base directory for libraries -OUTPUT_JAR_DIR="${PACKAGING_DIR}" # Directory where the final JAR will be placed - as per script # --- **ADDITIONAL SOURCE CODE FOLDERS** --- EXTRA_SOURCE_DIRS=( @@ -103,17 +102,13 @@ cd "${PACKAGING_DIR}" || exit # Go back to packaging dir echo '' echo "Done creating jar at ${JAR_LOCATION}" -cp -f "${JAR_LOCATION}" "${OUTPUT_JAR_DIR}/common/ATCS.jar" # Copy JAR to versioned name +cp -f "${JAR_LOCATION}" "${PACKAGING_DIR}/common/ATCS.jar" # Copy JAR to versioned name # --- Create archive --- -if [ "$PLATFORM" = "LINUX" ]; then - cd "${OUTPUT_JAR_DIR}" || exit - echo "Creating archive" - tar caf "ATCS_${VERSION}.tar.gz" common/* # archive the 'common' folder which now contains the JAR and libs - echo "Created archive at ${OUTPUT_JAR_DIR}/ATCS_${VERSION}.tar.gz" - cd "${PACKAGING_DIR}" || exit -else - echo "Can't create zip files on windows yet. Please pack the content of the '${OUTPUT_JAR_DIR}/common/' folder yourself" -fi +cd "${PACKAGING_DIR}" || exit +echo "Creating archive" +zip -r "ATCS_${VERSION}.zip" common/* # archive the 'common' folder which now contains the JAR and libs +echo "Created archive at ${PACKAGING_DIR}/ATCS_${VERSION}.zip" +cd "${PACKAGING_DIR}" || exit echo "Script finished." From 0e8ed1a25dcd35c93f7d05a4ffac8359000037b5 Mon Sep 17 00:00:00 2001 From: OMGeeky <> Date: Sun, 16 Feb 2025 00:01:27 +0100 Subject: [PATCH 2/5] Enhance package.sh to support platform-specific archive creation using PowerShell on Windows --- packaging/package.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packaging/package.sh b/packaging/package.sh index 0b0a2fc..2d688fa 100755 --- a/packaging/package.sh +++ b/packaging/package.sh @@ -107,7 +107,13 @@ cp -f "${JAR_LOCATION}" "${PACKAGING_DIR}/common/ATCS.jar" # Copy JAR to version # --- Create archive --- cd "${PACKAGING_DIR}" || exit echo "Creating archive" -zip -r "ATCS_${VERSION}.zip" common/* # archive the 'common' folder which now contains the JAR and libs +if [ "$PLATFORM" = "WINDOWS" ]; then + # Use PowerShell's Compress-Archive which is available by default on Windows + powershell.exe -Command "Compress-Archive -Path './common/*' -DestinationPath './ATCS_${VERSION}.zip' -Force" +else + # Use zip command on Linux + zip -r "ATCS_${VERSION}.zip" common/* # archive the 'common' folder which now contains the JAR and libs +fi echo "Created archive at ${PACKAGING_DIR}/ATCS_${VERSION}.zip" cd "${PACKAGING_DIR}" || exit From 2caaaeb474d87b2b98f0cc00afb4305f5dd01d4a Mon Sep 17 00:00:00 2001 From: OMGeeky <> Date: Sun, 16 Feb 2025 00:20:21 +0100 Subject: [PATCH 3/5] Update ATCS_Installer.nsi to dynamically set VERSION from ATCS_latest file --- packaging/Windows/ATCS_Installer.nsi | 333 ++++++++++++++------------- 1 file changed, 167 insertions(+), 166 deletions(-) diff --git a/packaging/Windows/ATCS_Installer.nsi b/packaging/Windows/ATCS_Installer.nsi index 68a686d..07c0949 100644 --- a/packaging/Windows/ATCS_Installer.nsi +++ b/packaging/Windows/ATCS_Installer.nsi @@ -1,166 +1,167 @@ -!include MUI2.nsh - -!define VERSION "0.6.20" -!define TRAINER_VERSION "0.1.5" -!define JAVA_BIN "java" -!define ATCS_SOURCE_DIR "C:\ATCS" - -Name "Andor's Trail Content Studio v${VERSION}" -OutFile "ATCS_v${VERSION}_Setup.exe" -InstallDir "$PROGRAMFILES\ATCS\" - -;SetCompressor /SOLID /FINAL lzma - -Var StartMenuFolder - -!define MUI_WELCOMEPAGE_TITLE "Welcome to Andor's Trail Content Studio installer" -!define MUI_WELCOMEPAGE_TEXT "This will install Andor's Trail Content Studio v${VERSION}" -!define MUI_FINISHPAGE_TEXT "Andor's Trail Content Studio v${VERSION} - Install completed !" -!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Andor's Trail Content Studio" -!define MUI_PAGE_HEADER_TEXT "Installing Andor's Trail Content Studio v${VERSION}" - - -;Start Menu Folder Page Configuration -!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" -!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\ATCS" -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "ATCS" - -!define MUI_HEADERIMAGE -;!define MUI_HEADER_TRANSPARENT_TEXT -!define MUI_HEADERIMAGE_BITMAP nsisHeader.bmp -!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH -;!define MUI_HEADERIMAGE_RIGHT -;!define MUI_HEADERIMAGE_BITMAP_STRETCH "AspectFitHeight" -!define MUI_HEADERIMAGE_UNBITMAP nsisHeader.bmp -;!define MUI_HEADERIMAGE_UNBITMAP_STRETCH "AspectFitHeight" -!define MUI_WELCOMEFINISHPAGE_BITMAP nsisBorderBanner.bmp -!define MUI_UNWELCOMEFINISHPAGE_BITMAP nsisBorderBanner.bmp -;!define MUI_BGCOLOR "E3E3E3" -!define MUI_ABORTWARNING - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_STARTMENU "ATCS" $StartMenuFolder -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES - -!insertmacro MUI_LANGUAGE "English" - - -;------------------------------------------------------------------------------------ -Section install - - ;--- Create in ...\packaging\common\ ATCS.cmd ATCT.ico ATCS.jar - SetOutPath $INSTDIR - file "ATCS.ico" - file "${ATCS_SOURCE_DIR}\packaging\common\ATCS.jar" - - Call GetJRE - Pop $R0 -; file "${ATCS_SOURCE_DIR}\packaging\common\ATCS.cmd" -; !insertmacro _ReplaceInFile "ATCS.cmd" "java.exe" "$R0" (It was too much work this way) - FileOpen $9 "ATCS.cmd" w - FileWrite $9 '@echo off$\r$\n' - FileWrite $9 '$\r$\n' - FileWrite $9 'set "ATCS_DIR=%~dp0"$\r$\n' - FileWrite $9 'set "MAX_MEM=1024M"$\r$\n' - FileWrite $9 'set "CP=%ATCS_DIR%lib\*"$\r$\n' - FileWrite $9 'set "JAVA=$R0"$\r$\n' - FileWrite $9 'set "JAVA_OPTS="$\r$\n' - FileWrite $9 'set "ENV_FILE=%ATCS_DIR%ATCS.env.bat"$\r$\n' - FileWrite $9 'set "MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio"$\r$\n' - FileWrite $9 '$\r$\n' - FileWrite $9 'if exist "%ENV_FILE%" ($\r$\n' - FileWrite $9 ' call "%ENV_FILE%"$\r$\n' - FileWrite $9 ') else ($\r$\n' - FileWrite $9 ' echo REM set "MAX_MEM=%MAX_MEM%">"%ENV_FILE%"$\r$\n' - FileWrite $9 ' echo REM set "JAVA=%JAVA%">>"%ENV_FILE%"$\r$\n' - FileWrite $9 ' echo REM set "JAVA_OPTS=%JAVA_OPTS%">>"%ENV_FILE%"$\r$\n' - FileWrite $9 ' echo.>>"%ENV_FILE%"$\r$\n' - FileWrite $9 ')$\r$\n' - FileWrite $9 '$\r$\n' - FileWrite $9 'start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -jar ATCS.jar$\r$\n' - FileClose $9 - - WriteUninstaller "$INSTDIR\Uninstall.exe" - - - !insertmacro MUI_STARTMENU_WRITE_BEGIN "ATCS" - - ;--- Create shortcuts - CreateDirectory "$SMPROGRAMS\$StartMenuFolder" - CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" "$INSTDIR\ATCS.cmd" "" "$INSTDIR\ATCS.ico" - CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_END - -SectionEnd - - -;------------------------------------------------------------------------------------ -Section uninstall - - Delete "$INSTDIR\lib\jide-oss.jar" - Delete "$INSTDIR\lib\ui.jar" - Delete "$INSTDIR\lib\junit-4.10.jar" - Delete "$INSTDIR\lib\json_simple-1.1.jar" - Delete "$INSTDIR\lib\AndorsTrainer_v${TRAINER_VERSION}.jar" - Delete "$INSTDIR\lib\rsyntaxtextarea.jar" - Delete "$INSTDIR\lib\prefuse.jar" - Delete "$INSTDIR\lib\bsh-2.0b4.jar" - Delete "$INSTDIR\lib\jsoup-1.10.2.jar" - RMDir "$INSTDIR\lib\" - - Delete "$INSTDIR\ATCS.ico" - Delete "$INSTDIR\ATCS.cmd" - Delete "$INSTDIR\ATCS.env.bat" - Delete "$INSTDIR\ATCS.jar" - Delete "$INSTDIR\Uninstall.exe" - RMDir "$INSTDIR" - - !insertmacro MUI_STARTMENU_GETFOLDER "ATCS" $StartMenuFolder - - Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" - Delete "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" - RMDir "$SMPROGRAMS\$StartMenuFolder" - -SectionEnd - - -;------------------------------------------------------------------------------------ -Function GetJRE -; -; Find JRE (java.exe) -; DISABLED 1 - in .\jre directory (JRE Installed with application) -; 2 - in JAVA_HOME environment variable -; 3 - in the registry -; 4 - assume java.exe in current dir or PATH - - Push $R0 - Push $R1 - - ;ClearErrors - ;StrCpy $R0 "$EXEDIR\jre\bin\java.exe" - ;IfFileExists $R0 JreFound - ;StrCpy $R0 "" - - ClearErrors - ReadEnvStr $R0 "JAVA_HOME" - StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" - IfErrors 0 JreFound - - ClearErrors - ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" - ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome" - StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" - - IfErrors 0 JreFound - StrCpy $R0 "${JAVA_BIN}.exe" - - JreFound: - Pop $R1 - Exch $R0 -FunctionEnd +!include MUI2.nsh + +!system 'for /f "delims=" %%a in ('type ..\ATCS_latest') do set "VERSION=%%a" && exit' +!define VERSION "$%VERSION:~1%" +!define TRAINER_VERSION "0.1.5" +!define JAVA_BIN "java" +!define ATCS_SOURCE_DIR "C:\ATCS" + +Name "Andor's Trail Content Studio v${VERSION}" +OutFile "ATCS_v${VERSION}_Setup.exe" +InstallDir "$PROGRAMFILES\ATCS\" + +;SetCompressor /SOLID /FINAL lzma + +Var StartMenuFolder + +!define MUI_WELCOMEPAGE_TITLE "Welcome to Andor's Trail Content Studio installer" +!define MUI_WELCOMEPAGE_TEXT "This will install Andor's Trail Content Studio v${VERSION}" +!define MUI_FINISHPAGE_TEXT "Andor's Trail Content Studio v${VERSION} - Install completed !" +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Andor's Trail Content Studio" +!define MUI_PAGE_HEADER_TEXT "Installing Andor's Trail Content Studio v${VERSION}" + + +;Start Menu Folder Page Configuration +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\ATCS" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "ATCS" + +!define MUI_HEADERIMAGE +;!define MUI_HEADER_TRANSPARENT_TEXT +!define MUI_HEADERIMAGE_BITMAP nsisHeader.bmp +!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH +;!define MUI_HEADERIMAGE_RIGHT +;!define MUI_HEADERIMAGE_BITMAP_STRETCH "AspectFitHeight" +!define MUI_HEADERIMAGE_UNBITMAP nsisHeader.bmp +;!define MUI_HEADERIMAGE_UNBITMAP_STRETCH "AspectFitHeight" +!define MUI_WELCOMEFINISHPAGE_BITMAP nsisBorderBanner.bmp +!define MUI_UNWELCOMEFINISHPAGE_BITMAP nsisBorderBanner.bmp +;!define MUI_BGCOLOR "E3E3E3" +!define MUI_ABORTWARNING + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_STARTMENU "ATCS" $StartMenuFolder +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "English" + + +;------------------------------------------------------------------------------------ +Section install + + ;--- Create in ...\packaging\common\ ATCS.cmd ATCT.ico ATCS.jar + SetOutPath $INSTDIR + file "ATCS.ico" + file "${ATCS_SOURCE_DIR}\packaging\common\ATCS.jar" + + Call GetJRE + Pop $R0 +; file "${ATCS_SOURCE_DIR}\packaging\common\ATCS.cmd" +; !insertmacro _ReplaceInFile "ATCS.cmd" "java.exe" "$R0" (It was too much work this way) + FileOpen $9 "ATCS.cmd" w + FileWrite $9 '@echo off$\r$\n' + FileWrite $9 '$\r$\n' + FileWrite $9 'set "ATCS_DIR=%~dp0"$\r$\n' + FileWrite $9 'set "MAX_MEM=1024M"$\r$\n' + FileWrite $9 'set "CP=%ATCS_DIR%lib\*"$\r$\n' + FileWrite $9 'set "JAVA=$R0"$\r$\n' + FileWrite $9 'set "JAVA_OPTS="$\r$\n' + FileWrite $9 'set "ENV_FILE=%ATCS_DIR%ATCS.env.bat"$\r$\n' + FileWrite $9 'set "MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio"$\r$\n' + FileWrite $9 '$\r$\n' + FileWrite $9 'if exist "%ENV_FILE%" ($\r$\n' + FileWrite $9 ' call "%ENV_FILE%"$\r$\n' + FileWrite $9 ') else ($\r$\n' + FileWrite $9 ' echo REM set "MAX_MEM=%MAX_MEM%">"%ENV_FILE%"$\r$\n' + FileWrite $9 ' echo REM set "JAVA=%JAVA%">>"%ENV_FILE%"$\r$\n' + FileWrite $9 ' echo REM set "JAVA_OPTS=%JAVA_OPTS%">>"%ENV_FILE%"$\r$\n' + FileWrite $9 ' echo.>>"%ENV_FILE%"$\r$\n' + FileWrite $9 ')$\r$\n' + FileWrite $9 '$\r$\n' + FileWrite $9 'start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -jar ATCS.jar$\r$\n' + FileClose $9 + + WriteUninstaller "$INSTDIR\Uninstall.exe" + + + !insertmacro MUI_STARTMENU_WRITE_BEGIN "ATCS" + + ;--- Create shortcuts + CreateDirectory "$SMPROGRAMS\$StartMenuFolder" + CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" "$INSTDIR\ATCS.cmd" "" "$INSTDIR\ATCS.ico" + CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" + + !insertmacro MUI_STARTMENU_WRITE_END + +SectionEnd + + +;------------------------------------------------------------------------------------ +Section uninstall + + Delete "$INSTDIR\lib\jide-oss.jar" + Delete "$INSTDIR\lib\ui.jar" + Delete "$INSTDIR\lib\junit-4.10.jar" + Delete "$INSTDIR\lib\json_simple-1.1.jar" + Delete "$INSTDIR\lib\AndorsTrainer_v${TRAINER_VERSION}.jar" + Delete "$INSTDIR\lib\rsyntaxtextarea.jar" + Delete "$INSTDIR\lib\prefuse.jar" + Delete "$INSTDIR\lib\bsh-2.0b4.jar" + Delete "$INSTDIR\lib\jsoup-1.10.2.jar" + RMDir "$INSTDIR\lib\" + + Delete "$INSTDIR\ATCS.ico" + Delete "$INSTDIR\ATCS.cmd" + Delete "$INSTDIR\ATCS.env.bat" + Delete "$INSTDIR\ATCS.jar" + Delete "$INSTDIR\Uninstall.exe" + RMDir "$INSTDIR" + + !insertmacro MUI_STARTMENU_GETFOLDER "ATCS" $StartMenuFolder + + Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" + Delete "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" + RMDir "$SMPROGRAMS\$StartMenuFolder" + +SectionEnd + + +;------------------------------------------------------------------------------------ +Function GetJRE +; +; Find JRE (java.exe) +; DISABLED 1 - in .\jre directory (JRE Installed with application) +; 2 - in JAVA_HOME environment variable +; 3 - in the registry +; 4 - assume java.exe in current dir or PATH + + Push $R0 + Push $R1 + + ;ClearErrors + ;StrCpy $R0 "$EXEDIR\jre\bin\java.exe" + ;IfFileExists $R0 JreFound + ;StrCpy $R0 "" + + ClearErrors + ReadEnvStr $R0 "JAVA_HOME" + StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" + IfErrors 0 JreFound + + ClearErrors + ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" + ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome" + StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" + + IfErrors 0 JreFound + StrCpy $R0 "${JAVA_BIN}.exe" + + JreFound: + Pop $R1 + Exch $R0 +FunctionEnd From 1e2daa56a4aac17816a605e952acc130de4d9ced Mon Sep 17 00:00:00 2001 From: OMGeeky <> Date: Sun, 16 Feb 2025 00:20:50 +0100 Subject: [PATCH 4/5] Update ATCS_Installer.nsi to change ATCS_SOURCE_DIR path for improved directory structure and allow github actions --- packaging/Windows/ATCS_Installer.nsi | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/packaging/Windows/ATCS_Installer.nsi b/packaging/Windows/ATCS_Installer.nsi index 07c0949..2864fab 100644 --- a/packaging/Windows/ATCS_Installer.nsi +++ b/packaging/Windows/ATCS_Installer.nsi @@ -4,7 +4,7 @@ !define VERSION "$%VERSION:~1%" !define TRAINER_VERSION "0.1.5" !define JAVA_BIN "java" -!define ATCS_SOURCE_DIR "C:\ATCS" +!define ATCS_SOURCE_DIR "..\..\" Name "Andor's Trail Content Studio v${VERSION}" OutFile "ATCS_v${VERSION}_Setup.exe" @@ -87,23 +87,23 @@ Section install FileClose $9 WriteUninstaller "$INSTDIR\Uninstall.exe" - - + + !insertmacro MUI_STARTMENU_WRITE_BEGIN "ATCS" - + ;--- Create shortcuts CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" "$INSTDIR\ATCS.cmd" "" "$INSTDIR\ATCS.ico" CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - + !insertmacro MUI_STARTMENU_WRITE_END - + SectionEnd ;------------------------------------------------------------------------------------ Section uninstall - + Delete "$INSTDIR\lib\jide-oss.jar" Delete "$INSTDIR\lib\ui.jar" Delete "$INSTDIR\lib\junit-4.10.jar" @@ -121,13 +121,13 @@ Section uninstall Delete "$INSTDIR\ATCS.jar" Delete "$INSTDIR\Uninstall.exe" RMDir "$INSTDIR" - + !insertmacro MUI_STARTMENU_GETFOLDER "ATCS" $StartMenuFolder - + Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" RMDir "$SMPROGRAMS\$StartMenuFolder" - + SectionEnd @@ -139,28 +139,28 @@ Function GetJRE ; 2 - in JAVA_HOME environment variable ; 3 - in the registry ; 4 - assume java.exe in current dir or PATH - + Push $R0 Push $R1 - + ;ClearErrors ;StrCpy $R0 "$EXEDIR\jre\bin\java.exe" ;IfFileExists $R0 JreFound ;StrCpy $R0 "" - + ClearErrors ReadEnvStr $R0 "JAVA_HOME" StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" IfErrors 0 JreFound - + ClearErrors ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome" StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" - + IfErrors 0 JreFound StrCpy $R0 "${JAVA_BIN}.exe" - + JreFound: Pop $R1 Exch $R0 From b6cfe349c01f9867188d192a9e602e8f631dd751 Mon Sep 17 00:00:00 2001 From: OMGeeky <> Date: Sun, 16 Feb 2025 00:21:42 +0100 Subject: [PATCH 5/5] Add GitHub Actions workflow for automated release builds --- .github/workflows/release.yml | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..38f5100 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,61 @@ +name: Release Build + +on: + release: + types: [created] + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + + - name: Install NSIS + uses: joncloud/makensis-action@v4 + + - name: Build JAR + shell: bash + run: | + cd ATCS/packaging + chmod +x package.sh + ./package.sh -windows + + - name: Create Installer + shell: bash + run: | + cd ATCS/packaging/Windows + makensis ATCS_Installer.nsi + + - name: Get Version + id: get_version + shell: bash + run: | + VERSION=$(cat ATCS/packaging/ATCS_latest | sed 's/^v//') + echo "VERSION=$VERSION" >> $GITHUB_ENV + + - name: Upload ZIP to Release + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./ATCS/packaging/ATCS_${{ env.VERSION }}.zip + asset_name: ATCS_${{ env.VERSION }}.zip + asset_content_type: application/zip + + - name: Upload Installer to Release + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./ATCS/packaging/Windows/ATCS_v${{ env.VERSION }}_Setup.exe + asset_name: ATCS_v${{ env.VERSION }}_Setup.exe + asset_content_type: application/octet-stream