]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/util/versions.py
New upstream version 1.52.1+dfsg1
[rustc.git] / src / tools / clippy / util / versions.py
CommitLineData
f20569fa
XL
1#!/usr/bin/env python
2
3import json
4import os
5import sys
6
7from lintlib import log
8
9
10def key(v):
11 if v == 'master':
12 return float('inf')
13 if v == 'stable':
14 return sys.maxsize
15 if v == 'beta':
16 return sys.maxsize - 1
17
18 v = v.replace('v', '').replace('rust-', '')
19
20 s = 0
21 for i, val in enumerate(v.split('.')[::-1]):
22 s += int(val) * 100**i
23
24 return s
25
26
27def main():
28 if len(sys.argv) < 2:
29 print("Error: specify output directory")
30 return
31
32 outdir = sys.argv[1]
33 versions = [
34 dir for dir in os.listdir(outdir) if not dir.startswith(".") and os.path.isdir(os.path.join(outdir, dir))
35 ]
36 versions.sort(key=key)
37
38 with open(os.path.join(outdir, "versions.json"), "w") as fp:
39 json.dump(versions, fp, indent=2)
40 log.info("wrote JSON for great justice")
41
42
43if __name__ == "__main__":
44 main()