fix go-task preconditions funktioniert nicht zuverlässig #13
This commit is contained in:
parent
391fef2137
commit
45061757f8
22
Taskfile.yml
22
Taskfile.yml
|
@ -40,46 +40,42 @@ tasks:
|
||||||
check:
|
check:
|
||||||
dir: data/{{.PROJECT}}/refine
|
dir: data/{{.PROJECT}}/refine
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"; test -n "{{.MINIMUM}}"
|
||||||
# Logdatei von OpenRefine auf Warnungen und Fehlermeldungen prüfen
|
# Logdatei von OpenRefine auf Warnungen und Fehlermeldungen prüfen
|
||||||
- if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "Logdatei $PWD/openrefine.log enthält Warnungen!" && exit 1; fi
|
- if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "Logdatei $PWD/openrefine.log enthält Warnungen!" && exit 1; fi
|
||||||
# Prüfen, ob Mindestanzahl von 1250 Datensätzen generiert wurde
|
# Prüfen, ob Mindestanzahl von 1250 Datensätzen generiert wurde
|
||||||
- if (( {{.MINIMUM}} > $(grep -c recordIdentifier {{.PROJECT}}.txt) )); then echo 1>&2 "Unerwartet geringe Anzahl an Datensätzen in $PWD/{{.PROJECT}}.txt!" && exit 1; fi
|
- if (( {{.MINIMUM}} > $(grep -c recordIdentifier {{.PROJECT}}.txt) )); then echo 1>&2 "Unerwartet geringe Anzahl an Datensätzen in $PWD/{{.PROJECT}}.txt!" && exit 1; fi
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
- test -n "{{.MINIMUM}}"
|
|
||||||
|
|
||||||
split:
|
split:
|
||||||
dir: data/{{.PROJECT}}/split
|
dir: data/{{.PROJECT}}/split
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"
|
||||||
# in Einzeldateien aufteilen
|
# in Einzeldateien aufteilen
|
||||||
- csplit -q ../refine/{{.PROJECT}}.txt --suppress-matched '/<!-- SPLIT -->/' "{*}"
|
- csplit -q ../refine/{{.PROJECT}}.txt --suppress-matched '/<!-- SPLIT -->/' "{*}"
|
||||||
# ggf. vorhandene XML-Dateien löschen
|
# ggf. vorhandene XML-Dateien löschen
|
||||||
- rm -f *.xml
|
- rm -f *.xml
|
||||||
# Identifier als Dateinamen
|
# Identifier als Dateinamen
|
||||||
- for f in xx*; do mv "$f" "$(xmllint --xpath "//*[local-name(.) = 'recordIdentifier']/text()" "$f").xml"; done
|
- for f in xx*; do mv "$f" "$(xmllint --xpath "//*[local-name(.) = 'recordIdentifier']/text()" "$f").xml"; done
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
|
|
||||||
validate:
|
validate:
|
||||||
dir: data/{{.PROJECT}}
|
dir: data/{{.PROJECT}}
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"
|
||||||
# Validierung gegen METS Schema
|
# Validierung gegen METS Schema
|
||||||
- wget -q -nc https://www.loc.gov/standards/mets/mets.xsd
|
- wget -q -nc https://www.loc.gov/standards/mets/mets.xsd
|
||||||
- xmllint --schema mets.xsd --noout split/*.xml > validate.log 2>&1
|
- xmllint --schema mets.xsd --noout split/*.xml > validate.log 2>&1
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
|
|
||||||
zip:
|
zip:
|
||||||
dir: data/{{.PROJECT}}
|
dir: data/{{.PROJECT}}
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"
|
||||||
# ZIP-Archiv mit Zeitstempel erstellen
|
# ZIP-Archiv mit Zeitstempel erstellen
|
||||||
- zip -q -FS -j {{.PROJECT}}_{{.DATE}}.zip split/*.xml
|
- zip -q -FS -j {{.PROJECT}}_{{.DATE}}.zip split/*.xml
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
|
|
||||||
diff:
|
diff:
|
||||||
dir: data/{{.PROJECT}}
|
dir: data/{{.PROJECT}}
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"
|
||||||
# Inhalt der beiden letzten ZIP-Archive vergleichen
|
# Inhalt der beiden letzten ZIP-Archive vergleichen
|
||||||
- unzip -q -d old $(ls -t *.zip | sed -n 2p)
|
- unzip -q -d old $(ls -t *.zip | sed -n 2p)
|
||||||
- unzip -q -d new $(ls -t *.zip | sed -n 1p)
|
- unzip -q -d new $(ls -t *.zip | sed -n 1p)
|
||||||
|
@ -92,12 +88,11 @@ tasks:
|
||||||
status:
|
status:
|
||||||
# Task nicht ausführen, wenn weniger als zwei ZIP-Archive vorhanden
|
# Task nicht ausführen, wenn weniger als zwei ZIP-Archive vorhanden
|
||||||
- test -z $(ls -t *.zip | sed -n 2p)
|
- test -z $(ls -t *.zip | sed -n 2p)
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
|
|
||||||
linkcheck:
|
linkcheck:
|
||||||
dir: data/{{.PROJECT}}
|
dir: data/{{.PROJECT}}
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"
|
||||||
# Links extrahieren
|
# Links extrahieren
|
||||||
- xmllint --xpath '//@*[local-name(.) = "href"]' split/*.xml | cut -d '"' -f2 > links.txt
|
- xmllint --xpath '//@*[local-name(.) = "href"]' split/*.xml | cut -d '"' -f2 > links.txt
|
||||||
# http status code aller Links ermitteln
|
# http status code aller Links ermitteln
|
||||||
|
@ -105,14 +100,11 @@ tasks:
|
||||||
- rm -rf links.txt
|
- rm -rf links.txt
|
||||||
# Logdatei auf status code != 2XX prüfen
|
# Logdatei auf status code != 2XX prüfen
|
||||||
- if grep '^[^2]' linkcheck.log; then echo 1>&2 "Logdatei $PWD/linkcheck.log enthält problematische status codes!" && exit 1; fi
|
- if grep '^[^2]' linkcheck.log; then echo 1>&2 "Logdatei $PWD/linkcheck.log enthält problematische status codes!" && exit 1; fi
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
|
|
||||||
delete:
|
delete:
|
||||||
dir: data/{{.PROJECT}}
|
dir: data/{{.PROJECT}}
|
||||||
cmds:
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"
|
||||||
- rm -rf harvest
|
- rm -rf harvest
|
||||||
- rm -rf refine
|
- rm -rf refine
|
||||||
- rm -rf split
|
- rm -rf split
|
||||||
preconditions:
|
|
||||||
- test -n "{{.PROJECT}}"
|
|
||||||
|
|
Loading…
Reference in New Issue