Selaa lähdekoodia

generate usage include files only as needed

right now, the update_usage script regenerates the usage files at
every call

by moving this into the makefile, we make those files be generated
only when the source file change, which makes testing docs much faster
Antoine Beaupré 9 vuotta sitten
vanhempi
sitoutus
e3433f433c
2 muutettua tiedostoa jossa 14 lisäystä ja 15 poistoa
  1. 14 2
      docs/Makefile
  2. 0 13
      docs/update_usage.sh

+ 14 - 2
docs/Makefile

@@ -36,8 +36,7 @@ help:
 clean:
 	-rm -rf $(BUILDDIR)/*
 
-html:
-	./update_usage.sh
+html: usage
 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
 	@echo
 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
@@ -140,3 +139,16 @@ gh-io: html
 
 inotify: html
 	while inotifywait -r . --exclude usage.rst --exclude '_build/*' ; do make html ; done
+
+# generate list of targets
+usage: $(shell borg help | grep -A1 "Available commands:" | tail -1 | sed 's/[{} ]//g;s/,\|^/.rst.inc usage\//g;s/^.rst.inc//;s/usage\/help//')
+
+# generate help file based on usage
+usage/%.rst.inc: ../borg/archiver.py
+	printf ".. _borg_$*:\n\n" > $@
+	printf "borg $*\n" >> $@
+	echo -n borg $* | tr 'a-z- ' '-' >> $@
+	printf "\n::\n\n" >> $@
+	borg help $* --usage-only | sed -e 's/^/    /' >> $@
+	printf "\nDescription\n~~~~~~~~~~~\n" >> $@
+	borg help $* --epilog-only >> $@

+ 0 - 13
docs/update_usage.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-if [ ! -d usage ]; then
-  mkdir usage
-fi
-for cmd in change-passphrase check create delete extract info init list mount prune serve; do
-  FILENAME="usage/$cmd.rst.inc"
-  LINE=`echo -n borg $cmd | tr 'a-z- ' '-'`
-  echo -e ".. _borg_$cmd:\n" > $FILENAME
-  echo -e "borg $cmd\n$LINE\n::\n\n" >> $FILENAME
-  borg help $cmd --usage-only | sed -e 's/^/    /' >> $FILENAME
-  echo -e "\nDescription\n~~~~~~~~~~~\n" >> $FILENAME
-  borg help $cmd --epilog-only >> $FILENAME
-done