aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/devenv_commands.py
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-12-09 20:44:55 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-12-10 01:06:19 +0100
commitf2314c10ca4b012205092666abaa8fd3d3cbd569 (patch)
treeeb5b7fe2827565b4e35ab48782b5bd767a77205a /python/servo/devenv_commands.py
parent5f4f355cea4a24992ac9efa97f4a6e1837008e0b (diff)
downloadservo-f2314c10ca4b012205092666abaa8fd3d3cbd569.tar.gz
servo-f2314c10ca4b012205092666abaa8fd3d3cbd569.zip
mach: Fix cargo-geckolib check / cargo-geckolib build after #19476.
Diffstat (limited to 'python/servo/devenv_commands.py')
-rw-r--r--python/servo/devenv_commands.py27
1 files changed, 18 insertions, 9 deletions
diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py
index 1ddba4af445..27458cd3344 100644
--- a/python/servo/devenv_commands.py
+++ b/python/servo/devenv_commands.py
@@ -29,22 +29,31 @@ from servo.util import STATIC_RUST_LANG_ORG_DIST, URLOPEN_KWARGS
@CommandProvider
class MachCommands(CommandBase):
def run_cargo(self, params, geckolib=False, check=False):
- if geckolib:
- self.set_use_stable_rust()
- crate_dir = path.join('ports', 'geckolib')
- else:
- crate_dir = path.join('ports', 'servo')
+ if not params:
+ params = []
self.ensure_bootstrapped()
self.ensure_clobbered()
env = self.build_env(geckolib=geckolib)
- if not params:
- params = []
-
if check:
params = ['check'] + params
+ if geckolib:
+ # for c in $(cargo --list | tail -$(($(cargo --list | wc -l) - 1))); do
+ # (cargo help $c 2>&1 | grep "\\--package" >/dev/null 2>&1) && echo $c
+ # done
+ if params[0] and params[0] in [
+ 'bench', 'build', 'check', 'clean', 'doc', 'fmt', 'pkgid',
+ 'run', 'rustc', 'rustdoc', 'test', 'update',
+ ]:
+ params[1:1] = ['--package', 'geckoservo']
+
+ self.set_use_stable_rust()
+ crate_dir = path.join('ports', 'geckolib')
+ else:
+ crate_dir = path.join('ports', 'servo')
+
build_start = time()
if self.context.topdir == getcwd():
with cd(crate_dir):
@@ -94,7 +103,7 @@ class MachCommands(CommandBase):
'params', default=None, nargs='...',
help="Command-line arguments to be passed through to cargo check")
def check_geckolib(self, params):
- return self.run_cargo(["-p", "geckoservo"] + (params or []), check=True, geckolib=True)
+ return self.run_cargo(params, check=True, geckolib=True)
@Command('cargo-update',
description='Same as update-cargo',