mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-31 08:11:24 +08:00
Replace build date with Git hash and commit date
The usage of a build date prevents reproducible builds.
This commit is contained in:
parent
c1d296ae96
commit
3202e319a1
@ -1,26 +1,3 @@
|
||||
import datetime
|
||||
|
||||
def build_date():
|
||||
now = datetime.date.today()
|
||||
m = now.strftime('%B')
|
||||
y = now.strftime('%Y')
|
||||
if now.day == 11:
|
||||
s = 'th'
|
||||
elif now.day % 10 == 1:
|
||||
s = 'st'
|
||||
elif now.day == 12:
|
||||
s = 'th'
|
||||
elif now.day % 10 == 2:
|
||||
s = 'nd'
|
||||
elif now.day == 13:
|
||||
s = 'th'
|
||||
elif now.day == 3:
|
||||
s = 'rd'
|
||||
else:
|
||||
s = 'th'
|
||||
d = '%2d%s' % (now.day, s)
|
||||
return '%s %s %s' % (d, m, y)
|
||||
|
||||
extensions = [
|
||||
"sphinx.ext.autodoc",
|
||||
"sphinx.ext.coverage",
|
||||
@ -47,7 +24,7 @@ master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'RTEMS Documentation Project'
|
||||
copyright = u'2018, RTEMS Project (built %s)' % (build_date())
|
||||
copyright = u'2018, RTEMS Project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
|
@ -17,24 +17,8 @@ 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 version_cmdline(ctx):
|
||||
return '-Drelease="%s" -Dversion="%s"' % (ctx.env.VERSION, ctx.env.VERSION)
|
||||
return '-Drelease="%s" -Dversion="%s"' % (ctx.env.RELEASE, ctx.env.VERSION)
|
||||
|
||||
def sphinx_cmdline(ctx, build_type, conf_dir, doctrees,
|
||||
source_dir, output_dir, configs = []):
|
||||
@ -207,8 +191,6 @@ def check_sphinx_extension(ctx, extension):
|
||||
def cmd_configure(ctx):
|
||||
check_sphinx = not ctx.env.BIN_SPHINX_BUILD
|
||||
if check_sphinx:
|
||||
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)
|
||||
|
||||
@ -502,7 +484,7 @@ def xml_catalogue(ctx, building):
|
||||
cat = xml.Document()
|
||||
|
||||
root = cat.createElement('rtems-docs')
|
||||
root.setAttribute('date', build_date())
|
||||
root.setAttribute('date', ctx.env.DATE)
|
||||
cat.appendChild(root)
|
||||
|
||||
heading = cat.createElement('catalogue')
|
||||
|
39
wscript
39
wscript
@ -9,8 +9,6 @@ path.append(abspath('common'))
|
||||
import waflib
|
||||
import waf as docs_waf
|
||||
|
||||
version = '5.0.0 (master)'
|
||||
|
||||
build_all = ['user',
|
||||
'rsb',
|
||||
'c-user',
|
||||
@ -31,7 +29,6 @@ def options(opt):
|
||||
docs_waf.cmd_options(opt)
|
||||
|
||||
def configure(conf):
|
||||
conf.env.VERSION = version
|
||||
for b in building:
|
||||
conf.recurse(b)
|
||||
conf.env['BUILD_FROM_TOP'] = 'yes'
|
||||
@ -53,7 +50,43 @@ def coverpage_js(ctx):
|
||||
with open(ctx.outputs[0].abspath(), 'w') as o:
|
||||
o.write(js.replace('@CATALOGUE', xml))
|
||||
|
||||
def pretty_day(day):
|
||||
if day == 3:
|
||||
s = 'rd'
|
||||
elif day == 11:
|
||||
s = 'th'
|
||||
elif day == 12:
|
||||
s = 'th'
|
||||
elif day == 13:
|
||||
s = 'th'
|
||||
elif day % 10 == 1:
|
||||
s = 'st'
|
||||
elif day % 10 == 2:
|
||||
s = 'nd'
|
||||
else:
|
||||
s = 'th'
|
||||
return str(day) + s
|
||||
|
||||
def build(ctx):
|
||||
#
|
||||
# Get date and version from Git
|
||||
#
|
||||
version = '5.0.0'
|
||||
if ctx.exec_command(['git', 'diff-index', '--quiet', 'HEAD']) == 0:
|
||||
modified = ''
|
||||
else:
|
||||
modified = '-modified'
|
||||
try:
|
||||
out = ctx.cmd_and_log(['git', 'log', '-1', '--format=%H,%cd', '--date=format:%e,%B,%Y'])
|
||||
f = out.strip('\n').split(',')
|
||||
version = version + '.' + f[0] + modified
|
||||
date = pretty_day(int(f[1])) + ' ' + f[2] + ' ' + f[3]
|
||||
except waflib.Build.Errors.WafError:
|
||||
date = 'unknown date'
|
||||
ctx.env.DATE = date
|
||||
ctx.env.RELEASE = version + ' (' + date + ')'
|
||||
ctx.env.VERSION = version
|
||||
|
||||
#
|
||||
# Generate any PlantUML images if enabled.
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user