#!/bin/bash set -eu verbose=false moar=true while [ "$#" -gt 0 ] && $moar do case "$1" in verbose | -v | --verbose) verbose=true shift 1 ;; esac done hideok= if command -v chronic > /dev/null then hideok=chronic fi quiet=-q if $verbose then quiet= hideok= fi codegen() { $hideok subplot codegen "$1" --output "$2" rm -f test.log $hideok python3 test.py --log test.log } docgen() { subplot docgen "$1" --output "$2" } $hideok cargo build --all-targets if cargo --list | awk '{ print $1 }' | grep 'clippy$' > /dev/null then # shellcheck disable=SC2086 cargo clippy $quiet fi # shellcheck disable=SC2086 $hideok cargo test $quiet if cargo fmt --help > /dev/null 2> /dev/null then $hideok cargo fmt -- --check fi $hideok ./mktestcert test.key test.pem hunter2 for md in [^R]*.md do $hideok echo "$md =====================================" codegen "$md" test.py docgen "$md" "$(basename "$md" .md).pdf" docgen "$md" "$(basename "$md" .md).html" $hideok echo done echo "Everything seems to be in order."