build: add Maven wrapper and prebuilt release jar; ignore docs/superpowers
- Add ./mvnw wrapper (script-only) so the project builds/runs without a system Maven install. - Add maven-shade-plugin producing a self-contained release/HauntedManor.jar (merges audio SPI services; no dependency-reduced-pom). - Document running via ./mvnw and via the jar directly in the README. - Ignore docs/superpowers/ (planning specs kept locally, untracked). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -20,25 +20,43 @@ werden aus YAML-Dateien geladen, nicht im Code festverdrahtet.
|
||||
## Voraussetzungen
|
||||
|
||||
- Java 25+
|
||||
- Maven 3.9+
|
||||
- Maven 3.9+ **oder** der mitgelieferte Maven Wrapper (`./mvnw`) – damit ist
|
||||
keine separate Maven-Installation nötig; der Wrapper lädt die passende
|
||||
Maven-Version beim ersten Aufruf selbst herunter.
|
||||
|
||||
## 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:
|
||||
|
||||
```bash
|
||||
java -jar release/HauntedManor.jar # Konsolen-Version
|
||||
java -cp release/HauntedManor.jar thb.jeanluc.adventure.AppGui # Swing-GUI
|
||||
```
|
||||
|
||||
## Bauen und Testen
|
||||
|
||||
Mit dem Wrapper (empfohlen, keine Maven-Installation nötig) – unter Windows
|
||||
`mvnw.cmd` statt `./mvnw`:
|
||||
|
||||
```bash
|
||||
mvn clean test # alle Tests ausführen (67 Tests)
|
||||
mvn clean package # JAR bauen
|
||||
./mvnw clean test # alle Tests ausführen (233 Tests)
|
||||
./mvnw clean package # baut die eigenständige JAR nach release/HauntedManor.jar
|
||||
```
|
||||
|
||||
Ein systemweit installiertes `mvn` funktioniert identisch (`mvn clean test` …).
|
||||
|
||||
## Spielen
|
||||
|
||||
Über die im `pom.xml` konfigurierten Run-Profile des `exec-maven-plugin`:
|
||||
|
||||
```bash
|
||||
mvn exec:java@run # Konsolen-Version (thb.jeanluc.adventure.App)
|
||||
mvn exec:java@gui # Swing-GUI (thb.jeanluc.adventure.AppGui)
|
||||
./mvnw exec:java@run # Konsolen-Version (thb.jeanluc.adventure.App)
|
||||
./mvnw exec:java@gui # Swing-GUI (thb.jeanluc.adventure.AppGui)
|
||||
```
|
||||
|
||||
`mvn exec:java` ohne Profil startet ebenfalls die Konsolen-Version.
|
||||
`./mvnw exec:java` ohne Profil startet ebenfalls die Konsolen-Version.
|
||||
Alternativ direkt aus der gebauten JAR (siehe [Schnellstart](#schnellstart-ohne-maven)).
|
||||
|
||||
### Befehle im Spiel
|
||||
|
||||
|
||||
Reference in New Issue
Block a user