Files
matrix-rust-sdk/xtask/src/workspace.rs
Kévin Commaille f94b202341 chore(xtask): Upgrade xshell
Gets rid of an unexpected_cfgs warning.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-11-30 18:03:54 +01:00

32 lines
907 B
Rust

use std::env;
use camino::Utf8PathBuf;
use serde::Deserialize;
use xshell::cmd;
use crate::{sh, Result};
pub fn root_path() -> Result<Utf8PathBuf> {
#[derive(Deserialize)]
struct Metadata {
workspace_root: Utf8PathBuf,
}
let cargo = env::var("CARGO").unwrap_or_else(|_| "cargo".to_owned());
let sh = sh();
let metadata_json = cmd!(sh, "{cargo} metadata --no-deps --format-version 1").read()?;
Ok(serde_json::from_str::<Metadata>(&metadata_json)?.workspace_root)
}
pub fn target_path() -> Result<Utf8PathBuf> {
#[derive(Deserialize)]
struct Metadata {
target_directory: Utf8PathBuf,
}
let cargo = env::var("CARGO").unwrap_or_else(|_| "cargo".to_owned());
let sh = sh();
let metadata_json = cmd!(sh, "{cargo} metadata --no-deps --format-version 1").read()?;
Ok(serde_json::from_str::<Metadata>(&metadata_json)?.target_directory)
}