blob: be0533a84cd1b0a921e8dceb3155c1ed775fa228 [file] [log] [blame]
#!/bin/sh
# SPDX-FileCopyrightText: 2026 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
# 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"