diff options
| author | Ddystopia <alexanderbabak@proton.me> | 2023-04-25 11:10:08 +0200 |
|---|---|---|
| committer | Ddystopia <alexanderbabak@proton.me> | 2023-05-02 17:06:31 +0200 |
| commit | fc888b583d3dd06ea89a3558350dda9440c82f61 (patch) | |
| tree | 9892783e050308778d41af2a42bf61a038227ae4 | |
| parent | a48e0e14e15abf47feae17e54d149eb443729375 (diff) | |
| download | rust-fc888b583d3dd06ea89a3558350dda9440c82f61.tar.gz rust-fc888b583d3dd06ea89a3558350dda9440c82f61.zip | |
Add `target_directory` path to `CargoWorkspace`
| -rw-r--r-- | crates/project-model/src/cargo_workspace.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/project-model/src/cargo_workspace.rs b/crates/project-model/src/cargo_workspace.rs index fb98d61963c..e821cae00ac 100644 --- a/crates/project-model/src/cargo_workspace.rs +++ b/crates/project-model/src/cargo_workspace.rs @@ -32,6 +32,7 @@ pub struct CargoWorkspace { packages: Arena<PackageData>, targets: Arena<TargetData>, workspace_root: AbsPathBuf, + target_directory: AbsPathBuf, } impl ops::Index<Package> for CargoWorkspace { @@ -414,7 +415,10 @@ impl CargoWorkspace { let workspace_root = AbsPathBuf::assert(PathBuf::from(meta.workspace_root.into_os_string())); - CargoWorkspace { packages, targets, workspace_root } + let target_directory = + AbsPathBuf::assert(PathBuf::from(meta.target_directory.into_os_string())); + + CargoWorkspace { packages, targets, workspace_root, target_directory } } pub fn packages(&self) -> impl Iterator<Item = Package> + ExactSizeIterator + '_ { @@ -432,6 +436,10 @@ impl CargoWorkspace { &self.workspace_root } + pub fn target_directory(&self) -> &AbsPath { + &self.target_directory + } + pub fn package_flag(&self, package: &PackageData) -> String { if self.is_unique(&package.name) { package.name.clone() |
