Closed Bug 1802097 Opened 2 years ago Closed 2 years ago

Better handling of the error when `cargo udeps` isn't installed

Categories

(Firefox Build System :: Mach Core, task, P3)

task

Tracking

(firefox109 fixed)

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: Sylvestre, Assigned: ahochheiden)

References

Details

Attachments

(1 file)

When cargo-udeps isn't installed, we are getting this error:

0:00.65 /usr/bin/gmake -C toolkit/library/rust -j12 -s force-cargo-library-udeps force-cargo-host-library-udeps force-cargo-program-udeps force-cargo-host-program-udeps
 0:00.72 error: no such subcommand: `udeps`
 0:00.72 
 0:00.72 	View all installed commands with `cargo --list`
 0:00.72 gmake: *** [/home/sylvestre/dev/mozilla/mozilla-central.hg/config/makefiles/rust.mk:466 : force-cargo-library-udeps] Erreur 101
Error running mach:

    ['cargo', 'udeps']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file cargo| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

Exception: Process executed with non-0 exit code 2: ['/usr/bin/gmake', '-C', 'toolkit/library/rust', '-j12', '-s', 'force-cargo-library-udeps', 'force-cargo-host-library-udeps', 'force-cargo-program-udeps', 'force-cargo-host-program-udeps']

  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/python/mozbuild/mozbuild/mach_commands.py", line 310, in udeps
    ret = command_context._run_make(
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/python/mozbuild/mozbuild/base.py", line 815, in _run_make
    return fn(**params)
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/python/mozbuild/mozbuild/base.py", line 821, in _run_command_in_objdir
    return self.run_process(cwd=self.topobjdir, **args)
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/python/mach/mach/mixin/process.py", line 183, in run_process
    raise Exception(

If it isn't too hard, we should catch the error and display something like

Could not find cargo-udeps, install it using:
cargo install cargo-udeps 
Severity: -- → S3
Priority: -- → P3
Assignee: nobody → ahochheiden
Status: NEW → ASSIGNED
Attachment #9304993 - Attachment description: Bug 1802097 - Check if `cargo udeps` is installed before running the command and provide instructions for how to install it if it isn't r?#build → Bug 1802097 - Check return code of `cargo udeps` and `cargo audit` to determine if they aren't installed, and provide the necessary commands to install them if they aren't r?#build
Pushed by ahochheiden@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a9d335730547 Check return code of `cargo udeps` and `cargo audit` to determine if they aren't installed, and provide the necessary commands to install them if they aren't r=firefox-build-system-reviewers,glandium
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: