Repository navigation
Expand file tree
/
Copy pathgenerate_version_cpp.py
More file actions
52 lines (45 loc) · 1.53 KB
/
Copy pathgenerate_version_cpp.py
File metadata and controls
52 lines (45 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python3
"""Expand autonomy/common/version.cpp.in from version.json (Bazel genrule helper)."""
from __future__ import annotations
import json
import pathlib
import sys
def main() -> int:
if len(sys.argv) != 4:
print(
f"usage: {sys.argv[0]} <version.cpp.in> <version.json> <out.cpp>",
file=sys.stderr,
)
return 2
src = pathlib.Path(sys.argv[1]).read_text(encoding="utf-8")
ver = json.loads(pathlib.Path(sys.argv[2]).read_text(encoding="utf-8"))
major = ver.get("major", 0)
minor = ver.get("minor", 0)
patch = ver.get("patch", 0)
repl = {
"AUTONOMY_MAJOR_VERSION": str(major),
"AUTONOMY_MINOR_VERSION": str(minor),
"AUTONOMY_PATCH_VERSION": str(patch),
"AUTONOMY_VERSION": f"{major}.{minor}.{patch}",
"GIT_COMMIT_ID": "unknown",
"GIT_VERSION": "unknown",
"GIT_BRANCH": "unknown",
"GIT_COMMIT_DATE": "Unknown",
"GIT_COMMIT_AUTHOR": "unknown",
"GIT_COMMIT_EMAIL": "unknown",
"BUILD_TIMESTAMP": "unknown",
"BUILD_HOST": "unknown",
"BUILD_USER": "unknown",
"SYSTEM_NAME": "Darwin",
"SYSTEM_PROCESSOR": "unknown",
"SYSTEM_VERSION": "unknown",
"COMPILER_ID": "Clang",
"COMPILER_VERSION": "unknown",
}
out = src
for key, value in repl.items():
out = out.replace("@" + key + "@", value)
pathlib.Path(sys.argv[3]).write_text(out, encoding="utf-8")
return 0
if __name__ == "__main__":
raise SystemExit(main())