Skip to content

Commit

Permalink
Use dunce
Browse files Browse the repository at this point in the history
  • Loading branch information
iho committed Oct 11, 2023
1 parent c7ef9c5 commit 0646997
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
7 changes: 7 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion cargo-near/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ readme = "README.md"
repository = "https://github.com/near/cargo-near"
license = "MIT OR Apache-2.0"
keywords = ["cargo", "near", "contract", "abi", "build"]
categories = ["development-tools", "development-tools::cargo-plugins", "development-tools::build-utils", "command-line-utilities"]
categories = [
"development-tools",
"development-tools::cargo-plugins",
"development-tools::build-utils",
"command-line-utilities",
]

[package.metadata.wix]
upgrade-guid = "FFBAE83D-C3FA-45DD-9F19-C8F312E905C5"
Expand Down Expand Up @@ -42,3 +47,4 @@ interactive-clap-derive = "0.2.5"
near-cli-rs = { version = "0.5.2" }
derive_more = "0.99.9"
shell-words = "1.0.0"
dunce = "1.0.4"
15 changes: 5 additions & 10 deletions cargo-near/src/util/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,6 @@ where
let path = path.as_ref();
log::debug!("Setting cargo working dir to '{}'", path);
cmd.current_dir(path);
#[cfg(target_os = "windows")]
{
let mut path = path.as_std_path().to_string_lossy().to_string();
// remove first 4 elements from path string
path.drain(..4);
let path = std::path::PathBuf::from(path);
cmd.current_dir(path);
}
}

cmd.arg(command);
Expand Down Expand Up @@ -249,8 +241,11 @@ pub(crate) fn compile_project(
/// Create the directory if it doesn't exist, and return the absolute path to it.
pub(crate) fn force_canonicalize_dir(dir: &Utf8Path) -> color_eyre::eyre::Result<Utf8PathBuf> {
fs::create_dir_all(dir).wrap_err_with(|| format!("failed to create directory `{}`", dir))?;
dir.canonicalize_utf8()
.wrap_err_with(|| format!("failed to access output directory `{}`", dir))
let compatible_path = dunce::canonicalize(&dir);
match compatible_path {
Ok(path) => Ok(Utf8PathBuf::from_path_buf(path).unwrap()),
Err(err) => Err(err).wrap_err_with(|| format!("failed to canonicalize path `{}`", dir)),
}
}

/// Copy a file to a destination.
Expand Down

0 comments on commit 0646997

Please sign in to comment.