Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
e3433f433c
2 değiştirilmiş dosya ile 14 ekleme ve 15 silme
  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