summaryrefslogtreecommitdiffstats
path: root/common/waf.py
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-03-20 11:42:56 +1100
committerChris Johns <chrisj@rtems.org>2017-03-20 11:42:56 +1100
commit81276042d235328168d75c6a736a9882244e8286 (patch)
treeb6d439bfb592c557fc788f8a88bbb52ddbd2343d /common/waf.py
parentc2c29d8831cba10df7ddaa2cc7406461eec9dc96 (diff)
downloadrtems-docs-81276042d235328168d75c6a736a9882244e8286.tar.bz2
Use a single top level version number.
Fix the path in the catalogue links to allow prefix testing on a local disk. Close #2940.
Diffstat (limited to 'common/waf.py')
-rw-r--r--common/waf.py43
1 files changed, 32 insertions, 11 deletions
diff --git a/common/waf.py b/common/waf.py
index 8aeac5d..56fff79 100644
--- a/common/waf.py
+++ b/common/waf.py
@@ -5,6 +5,22 @@ import latex
sphinx_min_version = (1, 3)
+def build_date():
+ import datetime
+ now = datetime.date.today()
+ m = now.strftime('%B')
+ y = now.strftime('%Y')
+ if now.day % 10 == 1:
+ s = 'st'
+ elif now.day % 10 == 2:
+ s = 'nd'
+ elif now.day == 3:
+ s = 'rd'
+ else:
+ s = 'th'
+ d = '%2d%s' % (now.day, s)
+ return '%s %s %s' % (d, m, y)
+
def cmd_spell(ctx):
from waflib import Options
from sys import argv
@@ -88,6 +104,9 @@ def build_dir_setup(ctx, buildtype):
doctrees = os.path.join(os.path.dirname(output_dir), 'doctrees', buildtype)
return build_dir, output_node, output_dir, doctrees
+def version_cmdline(ctx):
+ return "-Drelease='%s' -Dversion='%s'" % (ctx.env.VERSION, ctx.env.VERSION)
+
def pdf_resources(ctx, buildtype):
packages_base = ctx.path.parent.find_dir('common/latex')
if packages_base is None:
@@ -135,6 +154,8 @@ def html_resources(ctx, buildtype):
def cmd_configure(ctx):
+ ctx.msg('Checking version', ctx.env.VERSION)
+
ctx.find_program("sphinx-build", var="BIN_SPHINX_BUILD", mandatory = True)
ctx.find_program("aspell", var = "BIN_ASPELL", mandatory = False)
@@ -180,8 +201,8 @@ def doc_pdf(ctx, source_dir, conf_dir):
buildtype = 'latex'
build_dir, output_node, output_dir, doctrees = build_dir_setup(ctx, buildtype)
pdf_resources(ctx, buildtype)
- rule = "${BIN_SPHINX_BUILD} %s -b %s -c %s -d %s %s %s" % \
- (sphinx_verbose(ctx), buildtype, conf_dir,
+ rule = "${BIN_SPHINX_BUILD} %s -b %s -c %s %s -d %s %s %s" % \
+ (sphinx_verbose(ctx), buildtype, conf_dir, version_cmdline(ctx),
doctrees, source_dir, output_dir)
ctx(
rule = rule,
@@ -232,8 +253,8 @@ def doc_singlehtml(ctx, source_dir, conf_dir):
buildtype = 'singlehtml'
build_dir, output_node, output_dir, doctrees = build_dir_setup(ctx, buildtype)
html_resources(ctx, buildtype)
- rule = "${BIN_SPHINX_BUILD} %s -b %s -c %s -d %s %s %s" % \
- (sphinx_verbose(ctx), buildtype, conf_dir,
+ rule = "${BIN_SPHINX_BUILD} %s -b %s -c %s %s -d %s %s %s" % \
+ (sphinx_verbose(ctx), buildtype, conf_dir, version_cmdline(ctx),
doctrees, source_dir, output_dir)
ctx(
rule = rule,
@@ -254,8 +275,8 @@ def doc_html(ctx, conf_dir, source_dir):
buildtype = 'html'
build_dir, output_node, output_dir, doctrees = build_dir_setup(ctx, buildtype)
html_resources(ctx, buildtype)
- rule = "${BIN_SPHINX_BUILD} %s -b %s -c %s -d %s %s %s" % \
- (sphinx_verbose(ctx), buildtype, conf_dir,
+ rule = "${BIN_SPHINX_BUILD} %s -b %s -c %s %s -d %s %s %s" % \
+ (sphinx_verbose(ctx), buildtype, conf_dir, version_cmdline(ctx),
doctrees, source_dir, output_dir)
ctx(
rule = rule,
@@ -313,7 +334,7 @@ def cmd_configure_path(ctx):
cmd_configure(ctx)
-def xml_catalogue(ctx, building, title):
+def xml_catalogue(ctx, building):
#
# The following is a hack to find the top_dir because the task does
# provided a reference to top_dir like a build context.
@@ -338,8 +359,8 @@ def xml_catalogue(ctx, building, title):
sys.path = sp[:]
catalogue[doc] = {
'title': bconf.project,
- 'version': bconf.version,
- 'release': bconf.release,
+ 'version': str(ctx.env.VERSION),
+ 'release': str(ctx.env.VERSION),
'pdf': bconf.latex_documents[0][1].replace('.tex', '.pdf'),
'html': '%s/index.html' % (doc),
'singlehtml': '%s.html' % (doc)
@@ -350,11 +371,11 @@ def xml_catalogue(ctx, building, title):
cat = xml.Document()
root = cat.createElement('rtems-docs')
- root.setAttribute('date', 'today')
+ root.setAttribute('date', build_date())
cat.appendChild(root)
heading = cat.createElement('catalogue')
- text = cat.createTextNode(title)
+ text = cat.createTextNode(str(ctx.env.VERSION))
heading.appendChild(text)
root.appendChild(heading)