| Matthias Andreas Benkard | 0be6e41 | 2026-08-28 08:13:29 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # SPDX-FileCopyrightText: 2026 Matthias Andreas Benkard <code@mail.matthias.benkard.de> |
| 3 | # SPDX-License-Identifier: AGPL-3.0-or-later |
| 4 | |
| 5 | # Führt den Massenlauf über den Beispielkorpus (§ 6d des Handbuchs) und legt Bericht und |
| 6 | # Einzelsynopsen in einem Ausgabeverzeichnis ab. |
| 7 | # |
| 8 | # Anders als die Akzeptanzprüfungen, die dasselbe im Rahmen von „mvnw verify“ tun, dient |
| 9 | # dieses Skript dem Hinsehen: Es behält die Synopsen, damit sich jeder Rest an seinem |
| 10 | # eigenen Dokument nachschlagen lässt, und es nennt den Bericht in der Fassung, in der er |
| 11 | # auch als Grundlinie liegt. |
| 12 | # |
| 13 | # deploy/korpuslauf.sh [ausgabeverzeichnis] [auftragsliste] |
| 14 | # |
| 15 | # Voreinstellungen: target/korpus und src/test/resources/sampledata/korpus.tsv. |
| 16 | # Rückgabewert 3, wenn eine Kennzahl hinter die Grundlinie zurückfällt (wie beim Abgleich |
| 17 | # mit der amtlichen Nachfassung, § 6b Absatz 3). |
| 18 | # |
| 19 | # Ist eine neue Grundlinie zu setzen — weil eine Kennzahl gestiegen ist —, so tut das: |
| 20 | # cp target/korpus/bericht.tsv src/test/resources/sampledata/korpus-grundlinie.tsv |
| 21 | # nebst der Vorbemerkung, die in jener Datei steht. |
| 22 | |
| 23 | set -eu |
| 24 | |
| 25 | wurzel="$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)" |
| 26 | ziel="${1:-$wurzel/target/korpus}" |
| 27 | liste="${2:-$wurzel/src/test/resources/sampledata/korpus.tsv}" |
| 28 | grundlinie="$wurzel/src/test/resources/sampledata/korpus-grundlinie.tsv" |
| 29 | jar="$wurzel/target/aendggner-0.1.0-SNAPSHOT.jar" |
| 30 | |
| 31 | if [ ! -f "$liste" ]; then |
| 32 | echo "Die Auftragsliste $liste fehlt." >&2 |
| 33 | exit 1 |
| 34 | fi |
| 35 | |
| 36 | if [ ! -f "$jar" ]; then |
| 37 | echo "Das Erzeugnis fehlt; es wird hergestellt." |
| 38 | (cd "$wurzel" && ./mvnw -q package -DskipTests) |
| 39 | fi |
| 40 | |
| 41 | mkdir -p "$ziel" |
| 42 | |
| 43 | set +e |
| 44 | java -jar "$jar" \ |
| 45 | --korpus "$liste" \ |
| 46 | --grundlinie "$grundlinie" \ |
| 47 | --synopsen "$ziel/synopsen" \ |
| 48 | -o "$ziel/bericht.tsv" |
| 49 | ergebnis=$? |
| 50 | set -e |
| 51 | |
| 52 | echo |
| 53 | echo "Bericht: $ziel/bericht.tsv" |
| 54 | echo "Synopsen: $ziel/synopsen" |
| 55 | exit "$ergebnis" |