diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-11-18 09:55:51 +0100 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-12-22 11:58:30 +0100 |
| commit | d1ea846b6bbb5cbf09d8e9707707c40af3cf7c92 (patch) | |
| tree | 9b8b7728a6fbe24efbaeedba7247d70f8c0e16fa | |
| parent | 88e61261265607a4bcbeabc055e643d2ee2e66dd (diff) | |
| download | meson-d1ea846b6bbb5cbf09d8e9707707c40af3cf7c92.tar.gz | |
cargo: show nice exception if Cargo.toml missing
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index db7c0a1ed..4f3acc133 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -480,8 +480,12 @@ class Interpreter: return manifest_, True path = os.path.join(self.environment.source_dir, subdir) filename = os.path.join(path, 'Cargo.toml') + try: + raw_manifest = T.cast('raw.Manifest', load_toml(filename)) + except OSError as e: + raise MesonException(f'could not load {subdir}/Cargo.toml: {e}') + self.build_def_files.append(filename) - raw_manifest = T.cast('raw.Manifest', load_toml(filename)) if 'workspace' in raw_manifest: manifest_ = Workspace.from_raw(raw_manifest, path) elif 'package' in raw_manifest: |
