From 0553ab8b1a22eb426bfdd1cf26e183a4e652313e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 5 Jun 2020 11:30:38 +0200 Subject: [PATCH] Use env::var_os instead of env::var For the unliekly case in which the git repository is checked out in a directory that cannot be represented with unicode --- api/sixtyfps-rs/sixtyfps-rs-macro/lib.rs | 2 +- sixtyfps_runtime/corelib/build.rs | 16 ++++++++-------- sixtyfps_runtime/rendering_backends/gl/build.rs | 4 ++-- xtask/src/main.rs | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/api/sixtyfps-rs/sixtyfps-rs-macro/lib.rs b/api/sixtyfps-rs/sixtyfps-rs-macro/lib.rs index 9f05fda99..140118a46 100644 --- a/api/sixtyfps-rs/sixtyfps-rs-macro/lib.rs +++ b/api/sixtyfps-rs/sixtyfps-rs-macro/lib.rs @@ -131,7 +131,7 @@ pub fn sixtyfps(stream: TokenStream) -> TokenStream { let (syntax_node, mut diag) = parser::parse_tokens(tokens.clone()); - if let Ok(cargo_manifest) = std::env::var("CARGO_MANIFEST_DIR") { + if let Some(cargo_manifest) = std::env::var_os("CARGO_MANIFEST_DIR") { diag.current_path = cargo_manifest.into(); diag.current_path.push("Cargo.toml"); } diff --git a/sixtyfps_runtime/corelib/build.rs b/sixtyfps_runtime/corelib/build.rs index 267a170ec..5f23011ed 100644 --- a/sixtyfps_runtime/corelib/build.rs +++ b/sixtyfps_runtime/corelib/build.rs @@ -25,7 +25,7 @@ fn main() { ..Default::default() }; - let mut include_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); + let mut include_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap()); include_dir.pop(); include_dir.pop(); include_dir.pop(); // target/{debug|release}/build/package/out/ -> target/{debug|release} @@ -33,10 +33,10 @@ fn main() { std::fs::create_dir_all(include_dir.clone()).unwrap(); - let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); + let crate_dir = PathBuf::from(env::var_os("CARGO_MANIFEST_DIR").unwrap()); cbindgen::Builder::new() .with_config(config.clone()) - .with_src(format!("{}/abi/string.rs", crate_dir)) + .with_src(crate_dir.join("abi/string.rs")) .with_after_include("namespace sixtyfps { struct SharedString; }") .generate() .expect("Unable to generate bindings") @@ -44,23 +44,23 @@ fn main() { cbindgen::Builder::new() .with_config(config.clone()) - .with_src(format!("{}/abi/properties.rs", crate_dir)) + .with_src(crate_dir.join("abi/properties.rs")) .generate() .expect("Unable to generate bindings") .write_to_file(include_dir.join("sixtyfps_properties_internal.h")); cbindgen::Builder::new() .with_config(config.clone()) - .with_src(format!("{}/abi/signals.rs", crate_dir)) + .with_src(crate_dir.join("abi/signals.rs")) .generate() .expect("Unable to generate bindings") .write_to_file(include_dir.join("sixtyfps_signals_internal.h")); cbindgen::Builder::new() .with_config(config) - .with_src(format!("{}/abi/datastructures.rs", crate_dir)) - .with_src(format!("{}/abi/primitives.rs", crate_dir)) - .with_src(format!("{}/abi/model.rs", crate_dir)) + .with_src(crate_dir.join("abi/datastructures.rs")) + .with_src(crate_dir.join("abi/primitives.rs")) + .with_src(crate_dir.join("abi/model.rs")) .with_include("vtable.h") .with_include("sixtyfps_string.h") .with_include("sixtyfps_properties.h") diff --git a/sixtyfps_runtime/rendering_backends/gl/build.rs b/sixtyfps_runtime/rendering_backends/gl/build.rs index 3f1d40609..c21238f0a 100644 --- a/sixtyfps_runtime/rendering_backends/gl/build.rs +++ b/sixtyfps_runtime/rendering_backends/gl/build.rs @@ -18,7 +18,7 @@ fn main() { ..Default::default() }; - let mut include_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); + let mut include_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap()); include_dir.pop(); include_dir.pop(); include_dir.pop(); // target/{debug|release}/build/package/out/ -> target/{debug|release} @@ -26,7 +26,7 @@ fn main() { std::fs::create_dir_all(include_dir.clone()).unwrap(); - let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); + let crate_dir = env::var_os("CARGO_MANIFEST_DIR").unwrap(); cbindgen::Builder::new() .with_config(config) .with_crate(crate_dir) diff --git a/xtask/src/main.rs b/xtask/src/main.rs index ad2cbb3a7..2472b739f 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -31,7 +31,7 @@ pub struct ApplicationArguments { } fn root_dir() -> Result> { - let mut root = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").map_err(|_| "Cannot determine root directory - CARGO_MANIFEST_DIR is not set -- you can only run xtask via cargo")?); + let mut root = PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").ok_or_else(|| "Cannot determine root directory - CARGO_MANIFEST_DIR is not set -- you can only run xtask via cargo")?); root.pop(); // $root/xtask -> $root Ok(root) }