set_versions/switchers.js: Allow switchers.js version information to be autogenerated

A horrible blunt hammer approach to updating the version information in
switchers.js based on the available tag information.

To merge and work correctly, this will need a change to the autobuilder-helper
docs generation code to pull the swicthers.js and script from master, then
to run the script. That should hopefully remove the need for other patching
even on old docs branches though.

(From yocto-docs rev: dc858c8b2ffdb792fe8cef05fab3d752aa858f78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2022-03-18 16:21:19 +00:00
parent 767eb1c71c
commit 8827704443
3 changed files with 21 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
_build/
Pipfile.lock
poky.yaml
sphinx-static/switchers.js
.vscode/
*/svg/*.png
*/svg/*.pdf

View File

@@ -149,3 +149,22 @@ with open("poky.yaml.in", "r") as r, open("poky.yaml", "w") as w:
print("poky.yaml generated from poky.yaml.in")
with open("sphinx-static/switchers.js.in", "r") as r, open("sphinx-static/switchers.js", "w") as w:
lines = r.readlines()
for line in lines:
if "VERSIONS_PLACEHOLDER" in line:
w.write(" 'dev': 'dev (%s)',\n" % release_series[devbranch])
for branch in activereleases:
if branch == devbranch:
continue
versions = subprocess.run('git tag --list yocto-%s*' % (release_series[branch]), shell=True, capture_output=True, text=True).stdout.split()
versions = sorted([v.replace("yocto-" + release_series[branch] + ".", "").replace("yocto-" + release_series[branch], "0") for v in versions], key=int)
version = release_series[branch]
if versions[-1] != "0":
version = version + "." + versions[-1]
w.write(" '%s': '%s',\n" % (version, version))
else:
w.write(line)
print("switchers.js generated from switchers.js.in")

View File

@@ -10,13 +10,7 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
'use strict';
var all_versions = {
'dev': 'dev (3.5)',
'3.4.2': '3.4.2',
'3.3.5': '3.3.5',
'3.2.4': '3.2.4',
'3.1.15': '3.1.15',
'3.0.4': '3.0.4',
'2.7.4': '2.7.4',
VERSIONS_PLACEHOLDER
};
var all_doctypes = {