v0.5.2 ! Upped the bash & batch game. Can run from any directory,

auto-adaptation to jar files in lib, creation, use, and preservation
upon update or reinstall of a startup customization file (Max JVM
memory, custom java binary and custom JVM options as environment
variables). This is valid for all OS types (bash or batch startup) and
all installation methods (zip and nsis). Robustified a stupid version
management for workspace settings.
This commit is contained in:
Zukero
2017-03-03 17:15:16 +01:00
parent dfe3cc8480
commit 572704fd73
6 changed files with 93 additions and 22 deletions

View File

@@ -11,18 +11,8 @@
</sealing>
</manifest>
<selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
<file path="/ATContentStudio/nsisHeaderBase2.xcf"/>
<file path="/ATContentStudio/ATCS_v0.5.1.jar"/>
<file path="/ATContentStudio/nsisBorderBannerBase.xcf"/>
<file path="/ATContentStudio/.project"/>
<javaElement handleIdentifier="=ATContentStudio/res"/>
<javaElement handleIdentifier="=ATContentStudio/src"/>
<file path="/ATContentStudio/folderIconBase.xcf"/>
<file path="/ATContentStudio/.gitignore"/>
<file path="/ATContentStudio/fileIconBase.xcf"/>
<javaElement handleIdentifier="=ATContentStudio/hacked-libtiled"/>
<file path="/ATContentStudio/arrows.xcf"/>
<file path="/ATContentStudio/.classpath"/>
<file path="/ATContentStudio/ATCS_v0.5.0.jar"/>
</selectedElements>
</jardesc>

View File

@@ -1 +1,20 @@
start "" "javaw.exe" -Xmx512M -cp "lib\ATCS_v0.5.1.jar;lib\jide-oss.jar;lib\ui.jar;lib\junit-4.10.jar;lib\json_simple-1.1.jar;lib\rsyntaxtextarea.jar;lib\prefuse.jar;lib\AndorsTrainer_v0.1.3.jar;lib\bsh-2.0b4.jar" com.gpl.rpg.atcontentstudio.ATContentStudio
@echo off
set ATCS_DIR=%~dp0
set MAX_MEM=512M
set CP=%ATCS_DIR%lib\*
set JAVA=javaw.exe
set JAVA_OPTS=
set ENV_FILE=%ATCS_DIR%ATCS.env.bat
set MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio
if exist %ENV_FILE% (
call %ENV_FILE%
) else (
echo REM set MAX_MEM=%MAX_MEM% > %ENV_FILE%
echo REM set JAVA=%JAVA% >> %ENV_FILE%
echo REM set JAVA_OPTS=%JAVA_OPTS% >> %ENV_FILE%
echo. >> %ENV_FILE%
)
start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -cp "%CP%" %MAIN_CLASS%

View File

@@ -1,2 +1,22 @@
#!/bin/bash
java -Xmx512M -cp lib/AndorsTrainer_v0.1.3.jar:lib/ATCS_v0.5.1.jar:lib/prefuse.jar:lib/json_simple-1.1.jar:lib/jide-oss.jar:lib/ui.jar:lib/junit-4.10.jar:lib/rsyntaxtextarea.jar:lib/bsh-2.0b4.jar com.gpl.rpg.atcontentstudio.ATContentStudio
ATCS_DIR=$(dirname $(readlink -f "$0" || greadlink -f "$0" || stat -f "$0"))
MAX_MEM=512M
CP=$(find ${ATCS_DIR}/lib/ -name '*.jar' | paste -sd: -)
JAVA=java
JAVA_OPTS=
ENV_FILE=${ATCS_DIR}/ATCS.env
MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio
if [ -f ${ENV_FILE} ]
then
source ${ENV_FILE}
else
echo "#MAX_MEM=${MAX_MEM}" > ${ENV_FILE}
echo "#JAVA=${JAVA}" >> ${ENV_FILE}
echo "#JAVA_OPTS=${JAVA_OPTS}" >> ${ENV_FILE}
echo "" >> ${ENV_FILE}
fi
export ENV_FILE
$JAVA ${JAVA_OPTS} -Xmx${MAX_MEM} -cp ${CP} ${MAIN_CLASS}

View File

@@ -1 +1,20 @@
start "" "javaw.exe" -Xmx512M -cp "lib\ATCS_v0.5.0.jar;lib\jide-oss.jar;lib\ui.jar;lib\junit-4.10.jar;lib\json_simple-1.1.jar;lib\rsyntaxtextarea.jar;lib\prefuse.jar;lib\AndorsTrainer_v0.1.2.jar;lib\bsh-2.0b4.jar" com.gpl.rpg.atcontentstudio.ATContentStudio
@echo off
set ATCS_DIR=%~dp0
set MAX_MEM=512M
set CP=%ATCS_DIR%lib\*
set JAVA=javaw.exe
set JAVA_OPTS=
set ENV_FILE=%ATCS_DIR%ATCS.env.bat
set MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio
if exist %ENV_FILE% (
call %ENV_FILE%
) else (
echo REM set MAX_MEM=%MAX_MEM% > %ENV_FILE%
echo REM set JAVA=%JAVA% >> %ENV_FILE%
echo REM set JAVA_OPTS=%JAVA_OPTS% >> %ENV_FILE%
echo. >> %ENV_FILE%
)
start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -cp "%CP%" %MAIN_CLASS%

View File

@@ -1,7 +1,8 @@
!include MUI2.nsh
!define VERSION "0.5.1"
!define JAVA_BIN "java"
!define VERSION "0.5.2"
!define TRAINER_VERSION "0.1.3"
!define JAVA_BIN "javaw"
Name "Andor's Trail Content Studio v${VERSION}"
OutFile "ATCS_v${VERSION}_Setup.exe"
@@ -57,13 +58,32 @@ Section install
Call GetJRE
Pop $R0
FileOpen $9 "ATCS.cmd" w
FileWrite $9 'start "" "$R0" -Xmx512M -cp "lib\AndorsTrainer_v0.1.1.jar;lib\jide-oss.jar;lib\ui.jar;lib\junit-4.10.jar;lib\json_simple-1.1.jar;lib\rsyntaxtextarea.jar;lib\prefuse.jar;lib\bsh-2.0b4.jar;lib\ATCS_v${VERSION}.jar" com.gpl.rpg.atcontentstudio.ATContentStudio'
FileWrite $9 '@echo off'
FileWrite $9 ''
FileWrite $9 'set ATCS_DIR=%~dp0'
FileWrite $9 'set MAX_MEM=512M'
FileWrite $9 'set CP=%ATCS_DIR%lib\*'
FileWrite $9 'set JAVA=$R0'
FileWrite $9 'set JAVA_OPTS='
FileWrite $9 'set ENV_FILE=%ATCS_DIR%ATCS.env.bat'
FileWrite $9 'set MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio'
FileWrite $9 ''
FileWrite $9 'if exist %ENV_FILE% ('
FileWrite $9 ' call %ENV_FILE%'
FileWrite $9 ') else ('
FileWrite $9 ' echo REM set MAX_MEM=%MAX_MEM% > %ENV_FILE%'
FileWrite $9 ' echo REM set JAVA=%JAVA% >> %ENV_FILE%'
FileWrite $9 ' echo REM set JAVA_OPTS=%JAVA_OPTS% >> %ENV_FILE%'
FileWrite $9 ' echo. >> %ENV_FILE%'
FileWrite $9 ')'
FileWrite $9 ''
FileWrite $9 'start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -cp "%CP%" %MAIN_CLASS%'
FileClose $9
SetOutPath "$INSTDIR\lib\"
file "jide-oss.jar"
file "ui.jar"
file "AndorsTrainer_v0.1.3.jar"
file "AndorsTrainer_v${TRAINER_VERSION}.jar"
file "junit-4.10.jar"
file "json_simple-1.1.jar"
file "ATCS_v${VERSION}.jar"
@@ -93,7 +113,7 @@ Section uninstall
Delete "$INSTDIR\lib\ui.jar"
Delete "$INSTDIR\lib\junit-4.10.jar"
Delete "$INSTDIR\lib\json_simple-1.1.jar"
Delete "$INSTDIR\lib\AndorsTrainer_v0.1.3.jar"
Delete "$INSTDIR\lib\AndorsTrainer_v${TRAINER_VERSION}.jar"
Delete "$INSTDIR\lib\ATCS_v${VERSION}.jar"
Delete "$INSTDIR\lib\rsyntaxtextarea.jar"
Delete "$INSTDIR\lib\prefuse.jar"
@@ -101,6 +121,7 @@ Section uninstall
RMDir "$INSTDIR\lib\"
Delete "$INSTDIR\ATCS.ico"
Delete "$INSTDIR\ATCS.cmd"
Delete "$INSTDIR\ATCS.env.bat"
Delete "$INSTDIR\Uninstall.exe"

View File

@@ -23,6 +23,8 @@ public class WorkspaceSettings {
public static final String VERSION_KEY = "ATCS_Version";
public static final String FILENAME = "workspace_settings.json";
public static final int SETTINGS_VERSION = 1;
public Workspace parent;
public File file;
@@ -61,10 +63,10 @@ public class WorkspaceSettings {
reader = new FileReader(f);
@SuppressWarnings("rawtypes")
Map jsonSettings = (Map) parser.parse(reader);
String version = (String) jsonSettings.get(VERSION_KEY);
Integer version = (Integer) jsonSettings.get(VERSION_KEY);
if (version != null) {
if ("v0.5.2".equals(version)) {
loadv052(jsonSettings);
if (version >= 1) {
loadv1(jsonSettings);
}
}
@@ -88,7 +90,7 @@ public class WorkspaceSettings {
}
@SuppressWarnings("rawtypes")
private void loadv052(Map jsonSettings) {
private void loadv1(Map jsonSettings) {
for (Setting s : settings) {
s.readFromJson(jsonSettings);
}