Skip to content

Commit 2e0149a

Browse files
fix(rust): usage of compile time ockam home env var
1 parent d59dbfc commit 2e0149a

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

implementations/rust/ockam/ockam_command/build.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ fn binary_name() {
3030
println!("cargo:rustc-env=COMPILE_OCKAM_COMMAND_SUPPORT_EMAIL={support_email}");
3131
println!("cargo:rerun-if-env-changed=COMPILE_OCKAM_COMMAND_SUPPORT_EMAIL");
3232

33-
let home_dir = env::var("COMPILE_OCKAM_HOME").unwrap_or(format!("$HOME/.{}", bin_name));
33+
let home_dir = env::var("COMPILE_OCKAM_HOME").unwrap_or("".to_string());
3434
println!("cargo:rustc-env=COMPILE_OCKAM_HOME={home_dir}");
3535
println!("cargo:rerun-if-env-changed=COMPILE_OCKAM_HOME");
3636

implementations/rust/ockam/ockam_command/src/bin/brand.rs

+18-11
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ fn build_binary(bin_name: String, brand_settings: Brand, dry_run: bool) -> Resul
7777
}
7878
let commands = brand_settings.commands();
7979
let brand_name = brand_settings.brand_name(&bin_name);
80+
let home_dir = brand_settings.home_dir(&bin_name);
8081
cmd.envs([
8182
(COMPILE_OCKAM_DEVELOPER, "false".to_string()),
8283
(
@@ -85,10 +86,7 @@ fn build_binary(bin_name: String, brand_settings: Brand, dry_run: bool) -> Resul
8586
),
8687
(COMPILE_OCKAM_COMMAND_BIN_NAME, bin_name.clone()),
8788
(COMPILE_OCKAM_COMMAND_BRAND_NAME, brand_name),
88-
(
89-
COMPILE_OCKAM_HOME,
90-
brand_settings.home_dir.unwrap_or_default(),
91-
),
89+
(COMPILE_OCKAM_HOME, home_dir),
9290
(
9391
COMPILE_OCKAM_CONTROLLER_IDENTIFIER,
9492
brand_settings
@@ -161,6 +159,16 @@ impl Brand {
161159
}
162160
}
163161

162+
fn home_dir(&self, bin_name: &str) -> String {
163+
match &self.home_dir {
164+
Some(home_dir) => home_dir.clone(),
165+
None => Path::new("$HOME")
166+
.join(bin_name)
167+
.to_string_lossy()
168+
.to_string(),
169+
}
170+
}
171+
164172
fn commands(&self) -> String {
165173
match &self.commands {
166174
None => String::new(),
@@ -310,7 +318,6 @@ mod tests {
310318
- "node create": "init"
311319
bin2:
312320
support_email: [email protected]
313-
brand_name: Brand2
314321
build_args:
315322
- --release
316323
- --target
@@ -319,19 +326,19 @@ mod tests {
319326
let parsed: Config = serde_yaml::from_str(config).unwrap();
320327
assert_eq!(parsed.items.len(), 2);
321328
assert_eq!(parsed.items["bin1"].brand_name.as_deref(), Some("Brand1"));
322-
assert_eq!(parsed.items["bin2"].brand_name.as_deref(), Some("Brand2"));
323-
324-
let processed = parsed.clone();
329+
assert_eq!(parsed.items["bin2"].brand_name, None);
325330

326331
// No defaults used, should be the same as parsed
327-
let bin1 = &processed.items["bin1"];
332+
let bin1 = &parsed.items["bin1"];
328333
assert_eq!(&parsed.items["bin1"], bin1);
329334

330335
// Check bin2 defaults
331-
let bin2 = &processed.items["bin2"];
336+
let bin2 = &parsed.items["bin2"];
332337
assert_eq!(bin2.support_email, "[email protected]");
333-
assert_eq!(bin2.brand_name.as_deref(), Some("Brand2"));
338+
assert_eq!(bin2.brand_name, None);
339+
assert_eq!(bin2.brand_name("bin2"), "Bin2");
334340
assert_eq!(bin2.home_dir.as_ref(), None);
341+
assert_eq!(bin2.home_dir("bin2"), "$HOME/bin2");
335342
assert_eq!(bin2.orchestrator_identifier, None);
336343
assert_eq!(bin2.orchestrator_address.as_deref(), None);
337344
assert_eq!(bin2.commands.as_deref(), None);

0 commit comments

Comments
 (0)