diff options
| author | bors <bors@rust-lang.org> | 2020-02-14 13:05:29 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-02-14 13:05:29 +0000 |
| commit | bdd4046f01ead4a1581f5cb1c3c634db6567772d (patch) | |
| tree | 23a1b8a5be698acfe0e3f0bccf49a1987873a02e | |
| parent | 41d90d3b8e633ab53005b8f7459dd10e4526bd41 (diff) | |
| parent | 0f7918266fa4f4a50237c8bdac79cb1e3001d86c (diff) | |
| download | rust-bdd4046f01ead4a1581f5cb1c3c634db6567772d.tar.gz rust-bdd4046f01ead4a1581f5cb1c3c634db6567772d.zip | |
Auto merge of #5171 - flip1995:deploy, r=Manishearth
Improve deployment and documentation **This should be merged shortly after** #5172 This extracts the python code that generated the `versions.json` file and now sorts the versions. in addition to that it improves the order on the website, respecting the new `rust-*` directories. The new appearance of the documentation site can be previewed here: https://flip1995.github.io/rust-clippy/ changelog: Add documentation for Clippy stable releases at https://rust-lang.github.io/rust-clippy/
| -rw-r--r-- | .github/deploy.sh | 18 | ||||
| -rw-r--r-- | util/gh-pages/versions.html | 10 | ||||
| -rwxr-xr-x | util/versions.py | 42 |
3 files changed, 56 insertions, 14 deletions
diff --git a/.github/deploy.sh b/.github/deploy.sh index 4fcff830aa6..b1f572d2b45 100644 --- a/.github/deploy.sh +++ b/.github/deploy.sh @@ -8,26 +8,22 @@ rm -rf out/master/ || exit 0 echo "Making the docs for master" mkdir out/master/ cp util/gh-pages/index.html out/master -python ./util/export.py out/master/lints.json +python3 ./util/export.py out/master/lints.json if [[ -n $TAG_NAME ]]; then - echo "Save the doc for the current tag ($TAG_NAME) and point current/ to it" + echo "Save the doc for the current tag ($TAG_NAME) and point stable/ to it" cp -r out/master "out/$TAG_NAME" - rm -f out/current - ln -s "$TAG_NAME" out/current + rm -f out/stable + ln -s "$TAG_NAME" out/stable fi # Generate version index that is shown as root index page cp util/gh-pages/versions.html out/index.html -cd out -cat <<-EOF | python - > versions.json -import os, json -print json.dumps([ - dir for dir in os.listdir(".") if not dir.startswith(".") and os.path.isdir(dir) -]) -EOF +echo "Making the versions.json file" +python3 ./util/versions.py out +cd out # Now let's go have some fun with the cloned repo git config user.name "GHA CI" git config user.email "gha@ci.invalid" diff --git a/util/gh-pages/versions.html b/util/gh-pages/versions.html index 391e22a4743..cd3611db300 100644 --- a/util/gh-pages/versions.html +++ b/util/gh-pages/versions.html @@ -36,7 +36,7 @@ <ul class="list-group"> <a class="list-group-item" ng-repeat="version in data | orderBy:versionOrder:true" href="./{{version}}/index.html"> - {{normalizeVersion(version)}} + {{normalizeVersionDisplay(version)}} </a> </ul> </article> @@ -54,13 +54,17 @@ .controller('docVersions', function ($scope, $http) { $scope.loading = true; - $scope.normalizeVersion = function(v) { + $scope.normalizeVersionDisplay = function(v) { return v.replace(/^v/, ''); }; + $scope.normalizeVersion = function(v) { + return v.replace(/^v/, '').replace(/^rust-/, ''); + }; + $scope.versionOrder = function(v) { if (v === 'master') { return Infinity; } - if (v === 'current') { return Number.MAX_VALUE; } + if (v === 'stable') { return Number.MAX_VALUE; } return $scope.normalizeVersion(v) .split('.') diff --git a/util/versions.py b/util/versions.py new file mode 100755 index 00000000000..5798761ad75 --- /dev/null +++ b/util/versions.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +import json +import os +import sys + +from lintlib import log + + +def key(v): + if v == 'master': + return float('inf') + if v == 'stable': + return sys.maxsize + + v = v.replace('v', '').replace('rust-', '') + + s = 0 + for i, val in enumerate(v.split('.')[::-1]): + s += int(val) * 100**i + + return s + + +def main(): + if len(sys.argv) < 2: + print("Error: specify output directory") + return + + outdir = sys.argv[1] + versions = [ + dir for dir in os.listdir(outdir) if not dir.startswith(".") and os.path.isdir(os.path.join(outdir, dir)) + ] + versions.sort(key=key) + + with open(os.path.join(outdir, "versions.json"), "w") as fp: + json.dump(versions, fp, indent=2) + log.info("wrote JSON for great justice") + + +if __name__ == "__main__": + main() |
