From bfb5ea6fdbd85568c4ce20e28d4d727b78994938 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 1 Oct 2025 09:22:32 +0200 Subject: modules: rust: implement workspace.packages() Signed-off-by: Paolo Bonzini --- mesonbuild/modules/rust.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mesonbuild') diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py index 86e3ce426..4c61b7e31 100644 --- a/mesonbuild/modules/rust.py +++ b/mesonbuild/modules/rust.py @@ -100,9 +100,17 @@ class RustWorkspace(ModuleObject): self.interpreter = interpreter self.ws = ws self.methods.update({ + 'packages': self.packages_method, 'subproject': self.subproject_method, }) + @noPosargs + @noKwargs + def packages_method(self, state: ModuleState, args: T.List, kwargs: TYPE_kwargs) -> T.List[str]: + """Returns list of package names in workspace.""" + package_names = [pkg.manifest.package.name for pkg in self.ws.packages.values()] + return sorted(package_names) + def _do_subproject(self, pkg: cargo.PackageState) -> None: kw: _kwargs.DoSubproject = { 'required': True, -- cgit v1.2.3