diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-10-23 09:39:30 +0200 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-29 11:34:19 -0700 |
| commit | d2f58f996b5b75ca83ffd968a1de938bcc63dbf4 (patch) | |
| tree | e66a03aa9ec62322826ef665693a4b0d51ff8e0e /mesonbuild/cargo/interpreter.py | |
| parent | 5c01c56fd5e63667feaf2bcb61b57cc288eb3dfd (diff) | |
| download | meson-d2f58f996b5b75ca83ffd968a1de938bcc63dbf4.tar.gz | |
cargo: allow putting "." in members
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/cargo/interpreter.py')
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index 77f85cff5..eff4450b5 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -208,6 +208,8 @@ class Interpreter: def _load_workspace_member(self, ws: WorkspaceState, m: str) -> None: m = os.path.normpath(m) + if m in ws.packages: + return # Load member's manifest m_subdir = os.path.join(ws.subdir, m) manifest_ = self._load_manifest(m_subdir, ws.workspace, m) @@ -215,8 +217,6 @@ class Interpreter: self._add_workspace_member(manifest_, ws, m) def _add_workspace_member(self, manifest_: Manifest, ws: WorkspaceState, m: str) -> None: - if m in ws.packages: - return pkg = PackageState(manifest_, ws_subdir=ws.subdir, ws_member=m) ws.packages[m] = pkg ws.packages_to_member[manifest_.package.name] = m @@ -226,10 +226,10 @@ class Interpreter: if ws: return ws ws = WorkspaceState(workspace, subdir) - for m in workspace.members: - self._load_workspace_member(ws, m) if workspace.root_package: self._add_workspace_member(workspace.root_package, ws, '.') + for m in workspace.members: + self._load_workspace_member(ws, m) self.workspaces[subdir] = ws return ws |
