aboutsummaryrefslogtreecommitdiff
path: root/deploy/korpuslauf.sh
blob: be0533a84cd1b0a921e8dceb3155c1ed775fa228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/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"