diff options
author | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2019-11-05 15:34:36 -0500 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-11-06 17:53:42 +0000 |
commit | 340c15c6ed34ce60c821b5260fec3eb11d65dcb7 (patch) | |
tree | e791acb487279b7273cdbe753a2d46ccd982f5ea /docs/Makefile | |
parent | 4d11b6cecaa9c1be20aa149bc8779f197f6393ed (diff) |
docs: add spellcheck to 'make docs' sphinx docs
The CI gate will fail if there are typos in the docs.
writing output... [ 21%] events/Summits/OpensourceSummit...
writing output... [ 22%] events/Summits/UKNO/2017_04_30_...
featuresbyrelease/vpp16.06.rst:34:Rasberry:vpp16.06
writing output... [100%] usecases/vppinazure
Spelling checker messages written to /vpp/docs/_build/html/output.txt
Warning, treated as error:
Found 1 misspelled words
Makefile:31: recipe for target 'html' failed
make[1]: *** [html] Error 2
make[1]: Leaving directory '/vpp/docs'
If you introduce a term that is not recognized,
please add it to custom dictionary at
docs/spelling_wordlist.txt.
Type: feature
Change-Id: Id49be4fbee617f544f1ab8e78e7de8a4df36448b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Diffstat (limited to 'docs/Makefile')
-rw-r--r-- | docs/Makefile | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/Makefile b/docs/Makefile index 430877792a8..a67b28a3f1b 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,5 +1,16 @@ # Minimal makefile for Sphinx documentation # +# We support MacOS for docs generation +ifeq ($(shell uname),Darwin) +OS_ID = darwin +endif + +# Work out the OS if we haven't already +OS_ID ?= $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + +DOC_DEB_DEPENDS = enchant libenchant-dev +DOC_RPM_DEPENDS = enchant libenchant-dev + # You can set these variables from the command line. SPHINXOPTS = @@ -17,4 +28,19 @@ help: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile + @echo "Checking whether dependencies for Docs are installed..." +ifeq ($(OS_ID),ubuntu) + @set -e; inst=; \ + for i in $(DOC_DEB_DEPENDS); do \ + dpkg-query --show $$i >/dev/null 2>&1 || inst="$$inst $$i"; \ + done; \ + if [ "$$inst" ]; then \ + sudo apt-get update; \ + sudo apt-get $(CONFIRM) $(FORCE) install $$inst; \ + fi +else ifneq ("$(wildcard /etc/redhat-release)","") + @sudo yum install $(CONFIRM) $(DOC_RPM_DEPENDS) +endif + @python3 -m pip install sphinxcontrib-spelling + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" -W -b spelling $(O) @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) |