From 2f941d8450494895426aa614a15f65e3147d4095 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Mon, 27 Nov 2017 18:51:56 +0100 Subject: [PATCH] Print a link to instructions if rustup is not found. --- python/servo/command_base.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/servo/command_base.py b/python/servo/command_base.py index c1cab4a682c..c6f0aa0601c 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -7,6 +7,7 @@ # option. This file may not be copied, modified, or distributed # except according to those terms. +from errno import ENOENT as NO_SUCH_FILE_OR_DIRECTORY from glob import glob import gzip import itertools @@ -322,9 +323,18 @@ class CommandBase(object): def call_rustup_run(self, args, **kwargs): if self.config["tools"]["use-rustup"]: args = ["rustup" + BIN_SUFFIX, "run", "--install", self.toolchain()] + args + try: + return call(args, **kwargs) + except OSError as e: + if e.errno == NO_SUCH_FILE_OR_DIRECTORY: + print "It looks like rustup is not installed. See instructions at " \ + "https://github.com/servo/servo/#setting-up-your-environment" + print + return 1 + raise else: args[0] += BIN_SUFFIX - return call(args, **kwargs) + return call(args, **kwargs) def get_top_dir(self): return self.context.topdir