From 3f47ff9abdce9ded5ef39ff08f014e6ffe47eb2e Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 5 Nov 2020 11:21:27 +1000 Subject: [PATCH] fix missing buildinfo on Windows --- rslib/src/version.rs | 4 ++-- scripts/buildinfo.py | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/rslib/src/version.rs b/rslib/src/version.rs index e07447e53..c3d83252d 100644 --- a/rslib/src/version.rs +++ b/rslib/src/version.rs @@ -5,8 +5,8 @@ use lazy_static::lazy_static; use std::env; fn buildinfo(key: &str) -> &'static str { - let volatile = include_str!(concat!(env!("OUT_DIR"), "/../../buildinfo.txt")); - for line in volatile.split('\n') { + let buildinfo = include_str!(concat!(env!("OUT_DIR"), "/../../buildinfo.txt")); + for line in buildinfo.split('\n') { let mut it = line.split(' '); if it.next().unwrap() == key { return it.next().unwrap(); diff --git a/scripts/buildinfo.py b/scripts/buildinfo.py index 61ee66336..be8105042 100644 --- a/scripts/buildinfo.py +++ b/scripts/buildinfo.py @@ -9,15 +9,19 @@ release_mode = sys.argv[3] == "release" version_re = re.compile('anki_version = "(.*)"') +def output(text: str) -> None: + "Add text with a '\n' to stdout; avoiding a '\r' on Windows" + sys.stdout.buffer.write(text.encode("utf8") + b"\n") + # extract version number from defs.bzl for line in open(defs_file).readlines(): if ver := version_re.match(line): - print(f"STABLE_VERSION {ver.group(1)}") + output(f"STABLE_VERSION {ver.group(1)}") for line in open(stamp_file).readlines(): if line.startswith("STABLE_BUILDHASH"): if release_mode: - print(line.strip()) + output(line.strip()) else: # if not in release mode, map buildhash to a consistent value - print("STABLE_BUILDHASH dev") + output("STABLE_BUILDHASH dev")