2016-05-02 20:51:07 -04:00

38 lines
986 B
Python

import sys, os
def cmd_configure(ctx):
ctx.find_program("sphinx-build", var="SPHINX_BUILD")
def cmd_build(ctx, sub, source_dir="."):
srcnode = ctx.srcnode.abspath()
file_conf = ctx.path.parent.find_node("common/conf.py")
tg = ctx(
features = "subst",
source = file_conf,
target = file_conf.name
)
tg.__dict__.update(sub)
# Copy resources.
for dir in ["_static", "_templates"]:
files = ctx.path.parent.find_node("common").ant_glob("%s/*" % dir)
ctx.path.get_bld().make_node(dir).mkdir() # dirs
ctx(
features = "subst",
is_copy = True,
source = files,
target = [ctx.bldnode.find_node(dir).get_bld().make_node(x.name) for x in files]
)
ctx(
rule = "${SPHINX_BUILD} -b html -c build -j %s -d build/doctrees %s build/html" % (ctx.options.jobs, source_dir),
cwd = ctx.path.abspath(),
source = ctx.path.ant_glob('**/*.rst') + ctx.path.ant_glob('conf.py'),
target = ctx.path.find_or_declare('html/index.html')
)