@@ -77,6 +77,7 @@ fn build_binary(bin_name: String, brand_settings: Brand, dry_run: bool) -> Resul
77
77
}
78
78
let commands = brand_settings. commands ( ) ;
79
79
let brand_name = brand_settings. brand_name ( & bin_name) ;
80
+ let home_dir = brand_settings. home_dir ( & bin_name) ;
80
81
cmd. envs ( [
81
82
( COMPILE_OCKAM_DEVELOPER , "false" . to_string ( ) ) ,
82
83
(
@@ -85,10 +86,7 @@ fn build_binary(bin_name: String, brand_settings: Brand, dry_run: bool) -> Resul
85
86
) ,
86
87
( COMPILE_OCKAM_COMMAND_BIN_NAME , bin_name. clone ( ) ) ,
87
88
( 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) ,
92
90
(
93
91
COMPILE_OCKAM_CONTROLLER_IDENTIFIER ,
94
92
brand_settings
@@ -161,6 +159,16 @@ impl Brand {
161
159
}
162
160
}
163
161
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
+
164
172
fn commands ( & self ) -> String {
165
173
match & self . commands {
166
174
None => String :: new ( ) ,
@@ -310,7 +318,6 @@ mod tests {
310
318
- "node create": "init"
311
319
bin2:
312
320
313
- brand_name: Brand2
314
321
build_args:
315
322
- --release
316
323
- --target
@@ -319,19 +326,19 @@ mod tests {
319
326
let parsed: Config = serde_yaml:: from_str ( config) . unwrap ( ) ;
320
327
assert_eq ! ( parsed. items. len( ) , 2 ) ;
321
328
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 ) ;
325
330
326
331
// No defaults used, should be the same as parsed
327
- let bin1 = & processed . items [ "bin1" ] ;
332
+ let bin1 = & parsed . items [ "bin1" ] ;
328
333
assert_eq ! ( & parsed. items[ "bin1" ] , bin1) ;
329
334
330
335
// Check bin2 defaults
331
- let bin2 = & processed . items [ "bin2" ] ;
336
+ let bin2 = & parsed . items [ "bin2" ] ;
332
337
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" ) ;
334
340
assert_eq ! ( bin2. home_dir. as_ref( ) , None ) ;
341
+ assert_eq ! ( bin2. home_dir( "bin2" ) , "$HOME/bin2" ) ;
335
342
assert_eq ! ( bin2. orchestrator_identifier, None ) ;
336
343
assert_eq ! ( bin2. orchestrator_address. as_deref( ) , None ) ;
337
344
assert_eq ! ( bin2. commands. as_deref( ) , None ) ;
0 commit comments