aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-04-17 11:21:41 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2016-04-17 11:21:41 +0530
commita87fa103b89213b9306be35dd26980aed22207e0 (patch)
tree82583b0841e3197750a970e762237b2f8446e8dc
parent9935e82de6854b334e3b7ce3bd2816c736c38650 (diff)
parentec583326994010195e0a3afa065cd922c948b890 (diff)
downloadservo-a87fa103b89213b9306be35dd26980aed22207e0.tar.gz
servo-a87fa103b89213b9306be35dd26980aed22207e0.zip
Auto merge of #10620 - autrilla:mach-command-improvements, r=Wafflespeanut
Improved readability of ensure_bootstrapped <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10620) <!-- Reviewable:end -->
-rw-r--r--python/servo/command_base.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index 877fb51180a..9f2bf307c9d 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -415,18 +415,26 @@ class CommandBase(object):
if self.context.bootstrapped:
return
- if not self.config["tools"]["system-rust"] and \
- (not path.exists(path.join(
- self.config["tools"]["rust-root"], "rustc", "bin", "rustc" + BIN_SUFFIX)) or
- not all([path.exists(path.join(
- self.config["tools"]["rust-root"], "rustc", "lib", "rustlib", x
- )) for x in targets])):
- print("looking for rustc at %s" % path.join(
- self.config["tools"]["rust-root"], "rustc", "bin", "rustc" + BIN_SUFFIX))
+ rust_root = self.config["tools"]["rust-root"]
+ rustc_path = path.join(
+ rust_root, "rustc", "bin", "rustc" + BIN_SUFFIX
+ )
+ rustc_binary_exists = path.exists(rustc_path)
+
+ base_target_path = path.join(rust_root, "rustc", "lib", "rustlib")
+ target_paths = [path.join(base_target_path, t) for t in targets]
+ all_targets_exist = all([path.exists(p) for p in target_paths])
+
+ if (not self.config['tools']['system-rust'] and
+ (not rustc_binary_exists or not all_targets_exist)):
+ print("looking for rustc at %s" % (rustc_path))
Registrar.dispatch("bootstrap-rust", context=self.context, target=targets)
- if not self.config["tools"]["system-cargo"] and \
- not path.exists(path.join(
- self.config["tools"]["cargo-root"], "cargo", "bin", "cargo" + BIN_SUFFIX)):
+
+ cargo_path = path.join(self.config["tools"]["cargo-root"], "cargo", "bin",
+ "cargo" + BIN_SUFFIX)
+ cargo_binary_exists = path.exists(cargo_path)
+
+ if not self.config["tools"]["system-cargo"] and not cargo_binary_exists:
Registrar.dispatch("bootstrap-cargo", context=self.context)
self.context.bootstrapped = True