build(io): split release into Console + GUI jars and slim the console jar
Replace the single HauntedManor.jar with two self-contained jars, one per entry point (HauntedManor-Console.jar -> App, HauntedManor-GUI.jar -> AppGui), each with its own Main-Class so both run via plain `java -jar`. The console jar omits the OGG decode libraries and the ~11 MB of music tracks (GameIO.setMusic is a no-op in text mode), dropping it from 17 MB to ~5 MB. README documents running each jar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -26,14 +26,17 @@ werden aus YAML-Dateien geladen, nicht im Code festverdrahtet.
|
||||
|
||||
## Schnellstart ohne Maven
|
||||
|
||||
Im Ordner [`release/`](release/) liegt eine fertig gebaute, eigenständige JAR
|
||||
(`HauntedManor.jar`) mit allen Abhängigkeiten. Sie braucht nur Java 25:
|
||||
Im Ordner [`release/`](release/) liegen zwei fertig gebaute, eigenständige
|
||||
JARs mit allen Abhängigkeiten – je eine pro Frontend. Sie brauchen nur Java 25:
|
||||
|
||||
```bash
|
||||
java -jar release/HauntedManor.jar # Konsolen-Version
|
||||
java -cp release/HauntedManor.jar thb.jeanluc.adventure.AppGui # Swing-GUI
|
||||
java -jar release/HauntedManor-Console.jar # Konsolen-Version (~5 MB, ohne Audio)
|
||||
java -jar release/HauntedManor-GUI.jar # Swing-GUI (~17 MB, mit Musik)
|
||||
```
|
||||
|
||||
Die Konsolen-JAR enthält weder die Musikdateien noch die OGG-Bibliotheken –
|
||||
der Textmodus spielt keine Musik, daher werden sie dort weggelassen.
|
||||
|
||||
## Bauen und Testen
|
||||
|
||||
Mit dem Wrapper (empfohlen, keine Maven-Installation nötig) – unter Windows
|
||||
@@ -41,7 +44,7 @@ Mit dem Wrapper (empfohlen, keine Maven-Installation nötig) – unter Windows
|
||||
|
||||
```bash
|
||||
./mvnw clean test # alle Tests ausführen (233 Tests)
|
||||
./mvnw clean package # baut die eigenständige JAR nach release/HauntedManor.jar
|
||||
./mvnw clean package # baut beide JARs nach release/ (Console + GUI)
|
||||
```
|
||||
|
||||
Ein systemweit installiertes `mvn` funktioniert identisch (`mvn clean test` …).
|
||||
|
||||
Reference in New Issue
Block a user