#!/bin/sh set -eu verbose=false runtest=true moar=true while [ "$#" -gt 0 ] && $moar do case "$1" in verbose | -v | --verbose) verbose=true shift 1 ;; -c | --codegen) runtest=false shift 1 ;; esac done hideok= if command -v chronic > /dev/null then hideok=chronic fi quiet=-q if $verbose then quiet= hideok= fi codegen() { local run= if $runtest then run=--run fi $hideok sp-codegen "$1" --output "$2" $run } docgen() { sp-docgen "$1" --output "$2" } $hideok cargo build --all-targets if cargo --list | awk '{ print $1 }' | grep 'clippy$' > /dev/null then cargo clippy $quiet fi $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."