fix: failed to infer OUT_DIR when workspace root contains symlink

This commit is contained in:
YangzeLuo 2024-01-12 13:35:53 +08:00
parent 9d8889cdfc
commit 22cda959b3
6 changed files with 114 additions and 27 deletions

View file

@ -407,6 +407,7 @@ impl ProjectWorkspace {
workspaces: &[ProjectWorkspace],
config: &CargoConfig,
progress: &dyn Fn(String),
workspace_root: &AbsPathBuf,
) -> Vec<anyhow::Result<WorkspaceBuildScripts>> {
if matches!(config.invocation_strategy, InvocationStrategy::PerWorkspace)
|| config.run_build_script_command.is_none()
@ -421,11 +422,13 @@ impl ProjectWorkspace {
_ => None,
})
.collect();
let outputs = &mut match WorkspaceBuildScripts::run_once(config, &cargo_ws, progress) {
Ok(it) => Ok(it.into_iter()),
// io::Error is not Clone?
Err(e) => Err(sync::Arc::new(e)),
};
let outputs =
&mut match WorkspaceBuildScripts::run_once(config, &cargo_ws, progress, workspace_root)
{
Ok(it) => Ok(it.into_iter()),
// io::Error is not Clone?
Err(e) => Err(sync::Arc::new(e)),
};
workspaces
.iter()