提交 54654d11 authored 作者: Serhij S's avatar Serhij S

respect CARGO_TARGET_DIR variable

上级 e007c0f7
...@@ -695,7 +695,7 @@ dependencies = [ ...@@ -695,7 +695,7 @@ dependencies = [
[[package]] [[package]]
name = "roboplc-cli" name = "roboplc-cli"
version = "0.4.2" version = "0.4.3"
dependencies = [ dependencies = [
"ansi_term", "ansi_term",
"clap", "clap",
......
...@@ -83,7 +83,12 @@ impl Docker { ...@@ -83,7 +83,12 @@ impl Docker {
} }
} }
pub fn binary_path_for(self, name: &str) -> PathBuf { pub fn binary_path_for(self, name: &str) -> PathBuf {
PathBuf::from_iter(vec!["target", self.target(), "release", name]) PathBuf::from_iter(vec![
crate::cargo_target_dir(),
self.target(),
"release",
name,
])
} }
pub fn docker_image_name(self) -> &'static str { pub fn docker_image_name(self) -> &'static str {
match self { match self {
......
...@@ -203,7 +203,7 @@ pub fn flash( ...@@ -203,7 +203,7 @@ pub fn flash(
} else { } else {
cargo_args = build_config.cargo_args; cargo_args = build_config.cargo_args;
} }
let binary_name = Path::new("target") let binary_name = Path::new(crate::cargo_target_dir())
.join(&cargo_target) .join(&cargo_target)
.join("release") .join("release")
.join(name); .join(name);
......
...@@ -16,6 +16,12 @@ const TPL_DEFAULT_RS: &str = include_str!("../tpl/default.rs"); ...@@ -16,6 +16,12 @@ const TPL_DEFAULT_RS: &str = include_str!("../tpl/default.rs");
static TARGET_PACKAGE_NAME: OnceCell<String> = OnceCell::new(); static TARGET_PACKAGE_NAME: OnceCell<String> = OnceCell::new();
static TARGET_PACKAGE_VERSION: OnceCell<String> = OnceCell::new(); static TARGET_PACKAGE_VERSION: OnceCell<String> = OnceCell::new();
static CARGO_TARGET_DIR: OnceCell<String> = OnceCell::new();
pub fn cargo_target_dir() -> &'static str {
CARGO_TARGET_DIR.get().expect("CARGO_TARGET_DIR not set")
}
mod arguments; mod arguments;
mod common; mod common;
mod config; mod config;
...@@ -30,6 +36,9 @@ fn main() -> Result<(), Box<dyn std::error::Error>> { ...@@ -30,6 +36,9 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
#[cfg(target_os = "windows")] #[cfg(target_os = "windows")]
let _ansi_enabled = ansi_term::enable_ansi_support(); let _ansi_enabled = ansi_term::enable_ansi_support();
let args = Args::parse(); let args = Args::parse();
CARGO_TARGET_DIR
.set(std::env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| "target".to_owned()))
.expect("unable to set CARGO_TARGET_DIR");
let mut maybe_url = args.url; let mut maybe_url = args.url;
let mut maybe_key = args.key; let mut maybe_key = args.key;
if let Some(ref u) = maybe_url { if let Some(ref u) = maybe_url {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论