aboutsummaryrefslogtreecommitdiff
path: root/aux/workflow/public.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xaux/workflow/public.sh63
1 files changed, 54 insertions, 9 deletions
diff --git a/aux/workflow/public.sh b/aux/workflow/public.sh
index 8ecb855..be32ac1 100755
--- a/aux/workflow/public.sh
+++ b/aux/workflow/public.sh
@@ -1,17 +1,62 @@
#!/bin/sh
set -eu
-PROJECT_UC="$1"
-PROJECT="$2"
-MAILING_LIST="$3"
+PROJECT_UC=
+while getopts 'n:N:m:o:l:' flag; do
+ case "$flag" in
+ n)
+ PROJECT="$OPTARG"
+ ;;
+ N)
+ PROJECT_UC="$OPTARG"
+ ;;
+ m)
+ MAILING_LIST="$OPTARG"
+ ;;
+ o)
+ OUTDIR="$OPTARG"
+ ;;
+ l)
+ LANGS="$OPTARG"
+ ;;
+ *)
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
-sh aux/workflow/TODOs.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST"
-sh aux/workflow/commonmark.sh "$PROJECT" README.md index.html ||:
+assert_arg() {
+ if [ -z "$1" ]; then
+ echo "Missing $2" >&2
+ exit 2
+ fi
+}
-if [ -f CHANGELOG.md ]; then
- sh aux/workflow/commonmark.sh "$PROJECT" CHANGELOG.md
+assert_arg "${PROJECT:-}" '-n PROJECT'
+assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
+assert_arg "${OUTDIR:-}" '-o OUTDIR'
+
+if [ -z "${PROJECT_UC:-}" ]; then
+ PROJECT_UC="$PROJECT"
fi
-sh aux/ci/report.sh "$PROJECT"
+mkdir -p "$OUTDIR"
+
+sh aux/workflow/TODOs.sh -N "$PROJECT_UC" -n "$PROJECT" -m "$MAILING_LIST" -o "$OUTDIR"
+
+sh aux/workflow/commonmark.sh -N "$PROJECT" -o "$OUTDIR" -r README.md -w index.html -Len
+if [ -f CHANGELOG.md ]; then
+ sh aux/workflow/commonmark.sh -N "$PROJECT" -o "$OUTDIR" -r CHANGELOG.md -Len
+fi
+if [ -n "${LANGS:-}" ]; then
+ for lang in $LANGS; do
+ sh aux/workflow/commonmark.sh -N "$PROJECT" -o "$OUTDIR" -r "README.$lang.md" -w "$lang/index.html" -L "$lang"
+ if [ -f CHANGELOG.md ]; then
+ sh aux/workflow/commonmark.sh -N "$PROJECT" -o "$OUTDIR" -r "CHANGELOG.$lang.md" -w "$lang/CHANGELOG.html" -L "$lang"
+ fi
+ done
+fi
-cp aux/workflow/favicon.* public/
+sh aux/ci/report.sh -n "$PROJECT" -o "$OUTDIR"
+cp aux/workflow/favicon.svg aux/workflow/favicon.png "$OUTDIR"