proper bootstrap codes

This commit is contained in:
minjaesong
2023-06-23 18:44:05 +09:00
parent 0882145f9c
commit e8ffd1f844
16 changed files with 61 additions and 50 deletions

View File

@@ -30,5 +30,6 @@
"MENU_LABEL_DELETE": "Delete", "MENU_LABEL_DELETE": "Delete",
"MENU_OPTIONS_JVM_HEAP_MAX": "Max JVM Heap Memory", "MENU_OPTIONS_JVM_HEAP_MAX": "Max JVM Heap Memory",
"MENU_OPTIONS_AUTOSAVE": "Autosave", "MENU_OPTIONS_AUTOSAVE": "Autosave",
"CONTEXT_TIME_MINUTE_PLURAL": "Minutes" "CONTEXT_TIME_MINUTE_PLURAL": "Minutes",
"MENU_LABEL_SYSTEM_INFO": "System Info"
} }

View File

@@ -29,5 +29,6 @@
"MENU_LABEL_DELETE": "삭제", "MENU_LABEL_DELETE": "삭제",
"MENU_OPTIONS_JVM_HEAP_MAX": "최대 JVM 힙 메모리", "MENU_OPTIONS_JVM_HEAP_MAX": "최대 JVM 힙 메모리",
"MENU_OPTIONS_AUTOSAVE": "자동 저장", "MENU_OPTIONS_AUTOSAVE": "자동 저장",
"CONTEXT_TIME_MINUTE_PLURAL": "분" "CONTEXT_TIME_MINUTE_PLURAL": "분",
"MENU_LABEL_SYSTEM_INFO": "시스템 정보"
} }

View File

@@ -23,12 +23,12 @@ cp $SRCFILES/AppRun $DESTDIR/AppRun
chmod +x $DESTDIR/AppRun chmod +x $DESTDIR/AppRun
# Copy over a Java runtime # Copy over a Java runtime
cp -r "../out/$RUNTIME" $DESTDIR/ mkdir $DESTDIR/out
cp -r "../out/$RUNTIME" $DESTDIR/out/
# Copy over all the assets and a jarfile # Copy over all the assets and a jarfile
cp -r "../assets_release" $DESTDIR/ cp -r "../assets_release" $DESTDIR/
mv $DESTDIR/assets_release $DESTDIR/assets mv $DESTDIR/assets_release $DESTDIR/assets
mkdir $DESTDIR/out
cp "../out/TerrarumBuild.jar" $DESTDIR/out/ cp "../out/TerrarumBuild.jar" $DESTDIR/out/
# Pack everything to AppImage # Pack everything to AppImage

View File

@@ -23,12 +23,12 @@ cp $SRCFILES/AppRun $DESTDIR/AppRun
chmod +x $DESTDIR/AppRun chmod +x $DESTDIR/AppRun
# Copy over a Java runtime # Copy over a Java runtime
cp -r "../out/$RUNTIME" $DESTDIR/ mkdir $DESTDIR/out
cp -r "../out/$RUNTIME" $DESTDIR/out/
# Copy over all the assets and a jarfile # Copy over all the assets and a jarfile
cp -r "../assets_release" $DESTDIR/ cp -r "../assets_release" $DESTDIR/
mv $DESTDIR/assets_release $DESTDIR/assets mv $DESTDIR/assets_release $DESTDIR/assets
mkdir $DESTDIR/out
cp "../out/TerrarumBuild.jar" $DESTDIR/out/ cp "../out/TerrarumBuild.jar" $DESTDIR/out/
# Pack everything to AppImage # Pack everything to AppImage

View File

@@ -25,12 +25,12 @@ cp $SRCFILES/Terrarum.sh $DESTDIR/Contents/MacOS/
chmod +x $DESTDIR/Contents/MacOS/Terrarum.sh chmod +x $DESTDIR/Contents/MacOS/Terrarum.sh
# Copy over a Java runtime # Copy over a Java runtime
cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/ mkdir $DESTDIR/Contents/MacOS/out
cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/out/
# Copy over all the assets and a jarfile # Copy over all the assets and a jarfile
cp -r "../assets_release" $DESTDIR/Contents/MacOS/ cp -r "../assets_release" $DESTDIR/Contents/MacOS/
mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets
mkdir $DESTDIR/Contents/MacOS/out
cp "../out/TerrarumBuild.jar" $DESTDIR/Contents/MacOS/out/ cp "../out/TerrarumBuild.jar" $DESTDIR/Contents/MacOS/out/
echo "Build successful: $DESTDIR" echo "Build successful: $DESTDIR"

View File

@@ -25,12 +25,12 @@ cp $SRCFILES/Terrarum.sh $DESTDIR/Contents/MacOS/
chmod +x $DESTDIR/Contents/MacOS/Terrarum.sh chmod +x $DESTDIR/Contents/MacOS/Terrarum.sh
# Copy over a Java runtime # Copy over a Java runtime
cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/ mkdir $DESTDIR/Contents/MacOS/out
cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/out/
# Copy over all the assets and a jarfile # Copy over all the assets and a jarfile
cp -r "../assets_release" $DESTDIR/Contents/MacOS/ cp -r "../assets_release" $DESTDIR/Contents/MacOS/
mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets
mkdir $DESTDIR/Contents/MacOS/out
cp "../out/TerrarumBuild.jar" $DESTDIR/Contents/MacOS/out/ cp "../out/TerrarumBuild.jar" $DESTDIR/Contents/MacOS/out/
echo "Build successful: $DESTDIR" echo "Build successful: $DESTDIR"

View File

@@ -24,12 +24,12 @@ fi
x86_64-w64-mingw32-gcc -o $DESTDIR/Terrarum.exe $SRCFILES/Terrarum.c || { echo 'Building EXE failed' >&2; exit 1; } x86_64-w64-mingw32-gcc -o $DESTDIR/Terrarum.exe $SRCFILES/Terrarum.c || { echo 'Building EXE failed' >&2; exit 1; }
# Copy over a Java runtime # Copy over a Java runtime
cp -r "../out/$RUNTIME" $DESTDIR/ mkdir $DESTDIR/out
cp -r "../out/$RUNTIME" $DESTDIR/out/
# Copy over all the assets and a jarfile # Copy over all the assets and a jarfile
cp -r "../assets_release" $DESTDIR/ cp -r "../assets_release" $DESTDIR/
mv $DESTDIR/assets_release $DESTDIR/assets mv $DESTDIR/assets_release $DESTDIR/assets
mkdir $DESTDIR/out
cp "../out/TerrarumBuild.jar" $DESTDIR/out/ cp "../out/TerrarumBuild.jar" $DESTDIR/out/
# Temporary solution: zip everything # Temporary solution: zip everything

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
cd "${0%/*}" cd "${0%/*}"
./runtime-linux-arm/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar ./out/runtime-linux-arm/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
cd "${0%/*}" cd "${0%/*}"
./runtime-linux-x86/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar ./out/runtime-linux-x86/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
cd "${0%/*}" cd "${0%/*}"
./runtime-osx-arm/bin/java -jar ./out/TerrarumBuild.jar ./out/runtime-osx-arm/bin/java -jar ./out/TerrarumBuild.jar

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
cd "${0%/*}" cd "${0%/*}"
./runtime-osx-x86/bin/java -jar ./out/TerrarumBuild.jar ./out/runtime-osx-x86/bin/java -jar ./out/TerrarumBuild.jar

View File

@@ -2,5 +2,5 @@
#include <stdlib.h> #include <stdlib.h>
int main() { int main() {
return system(".\\runtime-windows-x86\\bin\\java -jar .\\out\\TerrarumBuild.jar"); return system(".\\out\\runtime-windows-x86\\bin\\java -jar .\\out\\TerrarumBuild.jar");
} }

View File

@@ -1,5 +1,6 @@
package net.torvald.terrarum package net.torvald.terrarum
import com.badlogic.gdx.Gdx
import net.torvald.unicode.BULLET import net.torvald.unicode.BULLET
import net.torvald.unicode.ENDASH import net.torvald.unicode.ENDASH
@@ -223,6 +224,22 @@ Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
""").split('\n') """).split('\n')
private val javaVersion = System.getProperty("java.version")
private val osName = App.OSName
private val osVersion = App.OSVersion
private val sysArch = App.systemArch
private val processor = App.processor
private val processorVendor = App.processorVendor
private val glinfo = Gdx.graphics.glVersion.debugVersionString
val systeminfo: List<String>; get() = """
JRE Version: $javaVersion
Operation System: $osName $osVersion
Architecture: $sysArch
Processor: $processor ($processorVendor)
GL Info: $glinfo
""".split('\n')
val gpl3: List<String>; get() = """ GNU GENERAL PUBLIC LICENSE val gpl3: List<String>; get() = """ GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007 Version 3, 29 June 2007

View File

@@ -64,16 +64,33 @@ public class Principii {
String extracmd = devMode ? " -ea" : ""; String extracmd = devMode ? " -ea" : "";
String OS = OSName.toUpperCase(); String OS = OSName.toUpperCase();
String CPUARCH = System.getProperty("os.arch").toUpperCase(); String CPUARCH = System.getProperty("os.arch").toUpperCase();
String runtimeRoot;
String runtimeArch;
if (!CPUARCH.equals("AMD64") && !CPUARCH.equals("AARCH64")) {
System.err.println("Unsupported CPU architecture: " + CPUARCH);
System.exit(1);
return;
}
else {
runtimeArch = CPUARCH.equals("AMD64") ? "x86" : "arm";
}
if (OS.contains("WIN")) { if (OS.contains("WIN")) {
// reserved for future use runtimeRoot = "runtime-windows-" + runtimeArch;
} }
else if (OS.contains("OS X") || OS.contains("MACOS")) { // OpenJDK for mac will still report "Mac OS X" with version number "10.16", even on Big Sur and beyond else if (OS.contains("OS X") || OS.contains("MACOS")) { // OpenJDK for mac will still report "Mac OS X" with version number "10.16", even on Big Sur and beyond
runtimeRoot = "runtime-osx-" + runtimeArch;
extracmd += " -XstartOnFirstThread"; extracmd += " -XstartOnFirstThread";
} }
else { else {
runtimeRoot = "runtime-linux-" + runtimeArch;
extracmd += " -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd"; extracmd += " -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd";
} }
String runtime = new File("out/"+runtimeRoot+"/bin/java").getAbsolutePath();
System.out.println("Runtime path: "+runtime);
getDefaultDirRoot(); getDefaultDirRoot();
configDir = defaultDir + "/config.json"; configDir = defaultDir + "/config.json";
@@ -84,40 +101,13 @@ public class Principii {
int xmx = getConfigInt("jvm_xmx"); int xmx = getConfigInt("jvm_xmx");
String runtime = new File("./out/runtime-osx-x86/bin/java").getAbsolutePath();
System.out.println("Runtime path: "+runtime);
try { try {
Process proc = Runtime.getRuntime().exec(runtime+extracmd+" -Xms1G -Xmx"+xmx+"G -cp ./out/TerrarumBuild.jar net.torvald.terrarum.App"); String[] cmd = (runtime+extracmd+" -Xms1G -Xmx"+xmx+"G -cp ./out/TerrarumBuild.jar net.torvald.terrarum.App").split(" ");
ProcessBuilder pb = new ProcessBuilder(cmd);
Thread tp = new Thread(() -> { pb.inheritIO();
String p = null; System.exit(pb.start().waitFor());
while (proc.isAlive()) {
try {
p = proc.inputReader().readLine();
}
catch (IOException ignored) {
}
if (p != null) System.out.println(p);
}
});
Thread te = new Thread(() -> {
String e = null;
while (proc.isAlive()) {
try {
e = proc.errorReader().readLine();
}
catch (IOException ignored) {
}
if (e != null) System.err.println(e);
}
});
tp.start();
te.start();
System.exit(proc.waitFor());
} }
catch (IOException e) { catch (IOException e) {
e.printStackTrace(); e.printStackTrace();

View File

@@ -26,6 +26,7 @@ object UITitleRemoConYaml {
- MENU_LABEL_CREDITS - MENU_LABEL_CREDITS
- MENU_LABEL_COPYRIGHT : net.torvald.terrarum.modulebasegame.ui.UITitleCredits - MENU_LABEL_COPYRIGHT : net.torvald.terrarum.modulebasegame.ui.UITitleCredits
- MENU_CREDIT_GPL_DNT : net.torvald.terrarum.modulebasegame.ui.UITitleGPL3 - MENU_CREDIT_GPL_DNT : net.torvald.terrarum.modulebasegame.ui.UITitleGPL3
- MENU_LABEL_SYSTEM_INFO : net.torvald.terrarum.modulebasegame.ui.UISystemInfo
- MENU_LABEL_RETURN - MENU_LABEL_RETURN
- MENU_LABEL_QUIT - MENU_LABEL_QUIT
""" """

View File

@@ -44,3 +44,4 @@ open class UITitleWallOfText(private val text: List<String>) : UICanvas() {
class UITitleCredits(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.credit) class UITitleCredits(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.credit)
class UITitleGPL3(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.gpl3) class UITitleGPL3(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.gpl3)
class UISystemInfo(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.systeminfo)