mirror of
https://github.com/OMGeeky/ATCS.git
synced 2025-12-27 14:58:55 +01:00
Compare commits
1 Commits
v0.6.21-pr
...
version-ch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85e0a1fd28 |
57
.github/workflows/release.yml
vendored
57
.github/workflows/release.yml
vendored
@@ -1,57 +0,0 @@
|
||||
name: Release Build
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get Version
|
||||
id: get_version
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Reading version from file:"
|
||||
cat res/ATCS_latest
|
||||
VERSION=$(cat res/ATCS_latest)
|
||||
echo "Processed version: $VERSION"
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
echo "Environment variable set to: $VERSION"
|
||||
|
||||
- name: Set up JDK
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: '11'
|
||||
distribution: 'adopt'
|
||||
|
||||
- name: Build JAR
|
||||
shell: bash
|
||||
run: |
|
||||
cd packaging
|
||||
chmod +x package.sh
|
||||
echo "Building JAR and ZIP for version: ${{ env.VERSION }}"
|
||||
./package.sh -windows
|
||||
echo "Created artifacts:"
|
||||
ls -la common/ATCS.jar
|
||||
ls -la ATCS_${{ env.VERSION }}.zip
|
||||
|
||||
- name: Install NSIS
|
||||
uses: joncloud/makensis-action@v4
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
with:
|
||||
script-file: packaging/Windows/ATCS_Installer.nsi
|
||||
arguments: /DVERSION="${{ env.VERSION }}"
|
||||
|
||||
- name: Upload Release Assets
|
||||
uses: softprops/action-gh-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
files: |
|
||||
./packaging/ATCS_${{ env.VERSION }}.zip
|
||||
./packaging/ATCS_${{ env.VERSION }}_Setup.exe
|
||||
@@ -1,12 +1,12 @@
|
||||
!include MUI2.nsh
|
||||
|
||||
; Version will be passed as /DVERSION=vx.x.x
|
||||
!define VERSION "0.6.21"
|
||||
!define TRAINER_VERSION "0.1.5"
|
||||
!define JAVA_BIN "java"
|
||||
!define ATCS_SOURCE_DIR "..\..\"
|
||||
!define ATCS_SOURCE_DIR "C:\ATCS"
|
||||
|
||||
Name "Andor's Trail Content Studio ${VERSION}"
|
||||
OutFile "..\ATCS_${VERSION}_Setup.exe"
|
||||
Name "Andor's Trail Content Studio v${VERSION}"
|
||||
OutFile "ATCS_v${VERSION}_Setup.exe"
|
||||
InstallDir "$PROGRAMFILES\ATCS\"
|
||||
|
||||
;SetCompressor /SOLID /FINAL lzma
|
||||
@@ -14,10 +14,10 @@ InstallDir "$PROGRAMFILES\ATCS\"
|
||||
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 ${VERSION}"
|
||||
!define MUI_FINISHPAGE_TEXT "Andor's Trail Content Studio ${VERSION} - Install completed !"
|
||||
!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 ${VERSION}"
|
||||
!define MUI_PAGE_HEADER_TEXT "Installing Andor's Trail Content Studio v${VERSION}"
|
||||
|
||||
|
||||
;Start Menu Folder Page Configuration
|
||||
@@ -86,23 +86,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"
|
||||
@@ -120,13 +120,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
|
||||
|
||||
|
||||
@@ -138,28 +138,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
|
||||
|
||||
@@ -18,9 +18,10 @@ ATCS_SOURCE_DIR=$(dirname "${PACKAGING_DIR}")
|
||||
TEMP_DIR="${PACKAGING_DIR}/tmp"
|
||||
JAR_LOCATION="${PACKAGING_DIR}/ATCS.jar" # Output JAR location as per script
|
||||
MANIFEST_LOCATION="${PACKAGING_DIR}/Manifest.txt"
|
||||
VERSION_FILE="${ATCS_SOURCE_DIR}/res/ATCS_latest"
|
||||
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=(
|
||||
@@ -84,7 +85,6 @@ mkdir -p "${TEMP_DIR}/com/gpl/rpg/atcontentstudio/img"
|
||||
mkdir -p "${TEMP_DIR}/tiled/io/resources/"
|
||||
cp -r "${ATCS_SOURCE_DIR}"/src/com/gpl/rpg/atcontentstudio/img/* "${TEMP_DIR}/com/gpl/rpg/atcontentstudio/img/" # some icons
|
||||
cp -r "${ATCS_SOURCE_DIR}"/hacked-libtiled/tiled/io/resources/* "${TEMP_DIR}/tiled/io/resources/" # dtd file for tmx maps
|
||||
cp "${VERSION_FILE}" "${TEMP_DIR}/" # Copy version file
|
||||
|
||||
# --- Create JAR file ---
|
||||
echo ""
|
||||
@@ -103,19 +103,17 @@ cd "${PACKAGING_DIR}" || exit # Go back to packaging dir
|
||||
|
||||
echo ''
|
||||
echo "Done creating jar at ${JAR_LOCATION}"
|
||||
cp -f "${JAR_LOCATION}" "${PACKAGING_DIR}/common/ATCS.jar" # Copy JAR to versioned name
|
||||
cp -f "${JAR_LOCATION}" "${OUTPUT_JAR_DIR}/common/ATCS.jar" # Copy JAR to versioned name
|
||||
|
||||
# --- Create archive ---
|
||||
cd "${PACKAGING_DIR}" || exit
|
||||
echo "Creating archive"
|
||||
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"
|
||||
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
|
||||
# Use zip command on Linux
|
||||
zip -r "ATCS_${VERSION}.zip" common/* # archive the 'common' folder which now contains the JAR and libs
|
||||
echo "Can't create zip files on windows yet. Please pack the content of the '${OUTPUT_JAR_DIR}/common/' folder yourself"
|
||||
fi
|
||||
echo "Created archive at ${PACKAGING_DIR}/ATCS_${VERSION}.zip"
|
||||
cd "${PACKAGING_DIR}" || exit
|
||||
|
||||
echo "Script finished."
|
||||
|
||||
@@ -14,7 +14,11 @@ import java.io.InputStreamReader;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.util.*;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -38,7 +42,8 @@ import com.gpl.rpg.atcontentstudio.ui.WorkspaceSelector;
|
||||
public class ATContentStudio {
|
||||
|
||||
public static final String APP_NAME = "Andor's Trail Content Studio";
|
||||
public static final String APP_VERSION = readVersionFromFile();
|
||||
public static final String APP_VERSION = "v0.6.21";
|
||||
|
||||
public static final String CHECK_UPDATE_URL = "https://andorstrail.com/static/ATCS_latest";
|
||||
public static final String DOWNLOAD_URL = "https://andorstrail.com/viewtopic.php?f=6&t=4806";
|
||||
|
||||
@@ -148,8 +153,7 @@ public static final String APP_VERSION = readVersionFromFile();
|
||||
while ((inputLine = in.readLine()) != null) {
|
||||
lastLine = inputLine;
|
||||
}
|
||||
if (lastLine != null && !lastLine.equals(APP_VERSION)) {
|
||||
|
||||
if (lastLine != null && compareVersions(lastLine) < 0) {
|
||||
// for copying style
|
||||
JLabel label = new JLabel();
|
||||
Font font = label.getFont();
|
||||
@@ -226,13 +230,19 @@ public static final String APP_VERSION = readVersionFromFile();
|
||||
}
|
||||
}
|
||||
}
|
||||
private static String readVersionFromFile() {
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
Objects.requireNonNull(ATContentStudio.class.getResourceAsStream("/ATCS_latest"))))) {
|
||||
return reader.readLine();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
/// returns The difference between the the latest version and the current one (CURRENT - LATEST)
|
||||
private static int compareVersions(String latest) {
|
||||
String[] levels1 = ATContentStudio.APP_VERSION.substring(1).split("\\.");
|
||||
String[] levels2 = latest.substring(1).split("\\.");
|
||||
int length = Math.max(levels1.length, levels2.length);
|
||||
for (int i = 0; i < length; i++) {
|
||||
int v1 = i < levels1.length ? Integer.parseInt(levels1[i]) : 0;
|
||||
int v2 = i < levels2.length ? Integer.parseInt(levels2[i]) : 0;
|
||||
if (v1 != v2) {
|
||||
return v1 - v2;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user