From ed3794ea3926f3e8ee801eae908bb7557cb30637 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Tue, 19 Jan 2016 23:00:32 -0500 Subject: Add 'waf linkcheck' to check external references. --- common/waf.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'common') diff --git a/common/waf.py b/common/waf.py index ef92a71..faf7ed5 100644 --- a/common/waf.py +++ b/common/waf.py @@ -29,12 +29,27 @@ def cmd_spell(ctx): call(cmd) +def cmd_linkcheck(ctx, conf_dir=".", source_dir="."): + ctx( + rule = "${BIN_SPHINX_BUILD} -b linkcheck -c %s -j %d -d build/doctrees %s build/linkcheck" % (conf_dir, ctx.options.jobs, source_dir), + cwd = ctx.path.abspath(), + source = ctx.path.ant_glob('**/*.rst'), + target = "linkcheck/output.txt" + ) + + class spell(BuildContext): __doc__ = "Check spelling. Supply a list of files or a glob (*.rst)" cmd = 'spell' fun = 'cmd_spell' +class linkcheck(BuildContext): + __doc__ = "Check all external URL references." + cmd = 'linkcheck' + fun = 'cmd_linkcheck' + + def check_sphinx_version(ctx, minver): version = ctx.cmd_and_log(ctx.env.BIN_SPHINX_BUILD + ['--version']).split(" ")[-1:][0] ver = tuple(map(int, version.split("."))) @@ -79,7 +94,6 @@ def doc_pdf(ctx, source_dir, conf_dir): prompt = 0 ) - def doc_singlehtml(ctx, source_dir, conf_dir): if not ctx.env.BIN_INLINER: ctx.fatal("Node inliner is required install with 'npm install -g inliner' (https://github.com/remy/inliner)") -- cgit v1.2.3