preupload: Depend on sourcing build/setup.sh
This eliminates the duplication of the rust toolchain version in the script, so
we can rely on one single source of truth for this value in setup.sh.
Change-Id: I145218062015f8df0984e523f1aea91ea4b1d154
diff --git a/preupload-hooks/rustfmt.py b/preupload-hooks/rustfmt.py
index 7922788..dac1dfa 100755
--- a/preupload-hooks/rustfmt.py
+++ b/preupload-hooks/rustfmt.py
@@ -22,9 +22,6 @@
def get_parser():
"""Return a command line parser."""
parser = argparse.ArgumentParser(description=__doc__)
- parser.add_argument("--rustfmt_path",
- default="rustfmt",
- help="The path to the rustfmt binary.")
parser.add_argument('files',
type=str,
nargs='*',
@@ -35,28 +32,21 @@
def main(argv):
"""The main entry."""
+ if not os.getenv("ROOTDIR"):
+ print("source build/setup.sh first")
+ sys.exit(1)
+
parser = get_parser()
opts = parser.parse_args(argv)
- # Check and set rustfmt path in case `source build/setup.sh` is not run in
- # the shell session. In repo preupload, the path should be set in
- # PREUPLOAD.cfg.
- if opts.rustfmt_path != "rustfmt":
- # Add rustfmt path to system PATH and set up RUSTUP_HOME at one level up
- # rustfmt has to have both variables set up to work properly.
- path = os.path.realpath(opts.rustfmt_path + "/..")
- os.environ["PATH"] = path + ":" + os.getenv("PATH")
- os.environ["RUSTUP_HOME"] = path + "/.."
-
# Only process .rs files
file_list = [f for f in opts.files if f.endswith("rs")]
if not file_list:
sys.exit(0)
- nightly_flag = os.getenv("CANTRIP_RUST_VERSION") if os.getenv(
- "CANTRIP_RUST_VERSION") else "nightly-2021-11-05"
+ nightly_flag = os.getenv("CANTRIP_RUST_VERSION")
- cmd = [opts.rustfmt_path, f"+{nightly_flag}", "--check", "--color", "never"]
+ cmd = ["rustfmt", f"+{nightly_flag}", "--check", "--color", "never"]
for f in file_list:
cmd.append(f)