#!/bin/sh # SPDX-FileCopyrightText: 2026 Matthias Andreas Benkard # SPDX-License-Identifier: AGPL-3.0-or-later # Führt den Massenlauf über den Beispielkorpus (§ 6d des Handbuchs) und legt Bericht und # Einzelsynopsen in einem Ausgabeverzeichnis ab. # # Anders als die Akzeptanzprüfungen, die dasselbe im Rahmen von „mvnw verify“ tun, dient # dieses Skript dem Hinsehen: Es behält die Synopsen, damit sich jeder Rest an seinem # eigenen Dokument nachschlagen lässt, und es nennt den Bericht in der Fassung, in der er # auch als Grundlinie liegt. # # deploy/korpuslauf.sh [ausgabeverzeichnis] [auftragsliste] # # Voreinstellungen: target/korpus und src/test/resources/sampledata/korpus.tsv. # Rückgabewert 3, wenn eine Kennzahl hinter die Grundlinie zurückfällt (wie beim Abgleich # mit der amtlichen Nachfassung, § 6b Absatz 3). # # Ist eine neue Grundlinie zu setzen — weil eine Kennzahl gestiegen ist —, so tut das: # cp target/korpus/bericht.tsv src/test/resources/sampledata/korpus-grundlinie.tsv # nebst der Vorbemerkung, die in jener Datei steht. set -eu wurzel="$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)" ziel="${1:-$wurzel/target/korpus}" liste="${2:-$wurzel/src/test/resources/sampledata/korpus.tsv}" grundlinie="$wurzel/src/test/resources/sampledata/korpus-grundlinie.tsv" jar="$wurzel/target/aendggner-0.1.0-SNAPSHOT.jar" if [ ! -f "$liste" ]; then echo "Die Auftragsliste $liste fehlt." >&2 exit 1 fi if [ ! -f "$jar" ]; then echo "Das Erzeugnis fehlt; es wird hergestellt." (cd "$wurzel" && ./mvnw -q package -DskipTests) fi mkdir -p "$ziel" set +e java -jar "$jar" \ --korpus "$liste" \ --grundlinie "$grundlinie" \ --synopsen "$ziel/synopsen" \ -o "$ziel/bericht.tsv" ergebnis=$? set -e echo echo "Bericht: $ziel/bericht.tsv" echo "Synopsen: $ziel/synopsen" exit "$ergebnis"