diff options
| author | Xavier Claessens <xclaessens@netflix.com> | 2025-10-15 15:18:05 -0400 |
|---|---|---|
| committer | Xavier Claessens <xclaesse@gmail.com> | 2025-10-17 16:15:14 -0400 |
| commit | 87a367c406e67d38df0946e2d780fbdf715e437a (patch) | |
| tree | c41e4482af845718cb7f8656b839d40211fee360 /mesonbuild/cargo/interpreter.py | |
| parent | 15fa4f7a44ba6321ead0ab3e2a0a273a4b159036 (diff) | |
| download | meson-87a367c406e67d38df0946e2d780fbdf715e437a.tar.gz | |
cargo: Keep a list of build_def_files
Diffstat (limited to 'mesonbuild/cargo/interpreter.py')
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index 755bbc4c3..c763483dd 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -88,20 +88,18 @@ class Interpreter: self.packages: T.Dict[PackageKey, PackageState] = {} # Map subdir to workspace self.workspaces: T.Dict[str, WorkspaceState] = {} + # Files that should trigger a reconfigure if modified + self.build_def_files: T.List[str] = [] # Cargo packages filename = os.path.join(self.environment.get_source_dir(), subdir, 'Cargo.lock') subprojects_dir = os.path.join(self.environment.get_source_dir(), subprojects_dir) - self.subdir: T.Optional[str] = None self.cargolock = load_cargo_lock(filename, subprojects_dir) if self.cargolock: - self.subdir = subdir self.environment.wrap_resolver.merge_wraps(self.cargolock.wraps) + self.build_def_files.append(filename) def get_build_def_files(self) -> T.List[str]: - build_def_files = [os.path.join(subdir, 'Cargo.toml') for subdir in self.manifests] - if self.cargolock: - build_def_files.append(os.path.join(self.subdir, 'Cargo.lock')) - return build_def_files + return self.build_def_files def interpret(self, subdir: str, project_root: T.Optional[str] = None) -> mparser.CodeBlockNode: manifest = self._load_manifest(subdir) @@ -305,6 +303,7 @@ class Interpreter: if not manifest_: path = os.path.join(self.environment.source_dir, subdir) filename = os.path.join(path, 'Cargo.toml') + self.build_def_files.append(filename) toml = load_toml(filename) workspace_ = None if 'workspace' in toml: |
