|
29 | 29 | @CommandProvider
|
30 | 30 | class MachCommands(CommandBase):
|
31 | 31 | def run_cargo(self, params, geckolib=False, check=False):
|
32 |
| - if geckolib: |
33 |
| - self.set_use_stable_rust() |
34 |
| - crate_dir = path.join('ports', 'geckolib') |
35 |
| - else: |
36 |
| - crate_dir = path.join('ports', 'servo') |
| 32 | + if not params: |
| 33 | + params = [] |
37 | 34 |
|
38 | 35 | self.ensure_bootstrapped()
|
39 | 36 | self.ensure_clobbered()
|
40 | 37 | env = self.build_env(geckolib=geckolib)
|
41 | 38 |
|
42 |
| - if not params: |
43 |
| - params = [] |
44 |
| - |
45 | 39 | if check:
|
46 | 40 | params = ['check'] + params
|
47 | 41 |
|
| 42 | + if geckolib: |
| 43 | + # for c in $(cargo --list | tail -$(($(cargo --list | wc -l) - 1))); do |
| 44 | + # (cargo help $c 2>&1 | grep "\\--package" >/dev/null 2>&1) && echo $c |
| 45 | + # done |
| 46 | + if params[0] and params[0] in [ |
| 47 | + 'bench', 'build', 'check', 'clean', 'doc', 'fmt', 'pkgid', |
| 48 | + 'run', 'rustc', 'rustdoc', 'test', 'update', |
| 49 | + ]: |
| 50 | + params[1:1] = ['--package', 'geckoservo'] |
| 51 | + |
| 52 | + self.set_use_stable_rust() |
| 53 | + crate_dir = path.join('ports', 'geckolib') |
| 54 | + else: |
| 55 | + crate_dir = path.join('ports', 'servo') |
| 56 | + |
| 57 | + |
48 | 58 | build_start = time()
|
49 | 59 | if self.context.topdir == getcwd():
|
50 | 60 | with cd(crate_dir):
|
@@ -94,7 +104,7 @@ def check(self, params):
|
94 | 104 | 'params', default=None, nargs='...',
|
95 | 105 | help="Command-line arguments to be passed through to cargo check")
|
96 | 106 | def check_geckolib(self, params):
|
97 |
| - return self.run_cargo(["-p", "geckoservo"] + (params or []), check=True, geckolib=True) |
| 107 | + return self.run_cargo(params, check=True, geckolib=True) |
98 | 108 |
|
99 | 109 | @Command('cargo-update',
|
100 | 110 | description='Same as update-cargo',
|
|
0 commit comments