@@ -277,7 +277,7 @@ impl Config {
277
277
env : impl for < ' a > Fn ( & ' a Environment , & Target ) -> ( Option < Vec < String > > , Option < Vec < String > > ) ,
278
278
config : impl for < ' a > Fn ( & ' a CrossToml , & Target ) -> ( Option < & ' a [ String ] > , Option < & ' a [ String ] > ) ,
279
279
sum : bool ,
280
- ) -> Result < Option < Vec < String > > > {
280
+ ) -> Option < Vec < String > > {
281
281
if sum {
282
282
let ( mut env_build, env_target) = env ( & self . env , target) ;
283
283
env_build
@@ -294,14 +294,14 @@ impl Config {
294
294
target : & Target ,
295
295
env : impl for < ' a > Fn ( & ' a Environment , & Target ) -> ( Option < T > , Option < T > ) ,
296
296
config : impl for < ' a > Fn ( & ' a CrossToml , & Target ) -> ( Option < & ' a U > , Option < & ' a U > ) ,
297
- ) -> Result < Option < T > >
297
+ ) -> Option < T >
298
298
where
299
299
U : ToOwned < Owned = T > + ?Sized ,
300
300
{
301
301
let ( env_build, env_target) = env ( & self . env , target) ;
302
302
303
303
if let Some ( env_target) = env_target {
304
- return Ok ( Some ( env_target) ) ;
304
+ return Some ( env_target) ;
305
305
}
306
306
307
307
let ( build, target) = self
@@ -312,13 +312,13 @@ impl Config {
312
312
313
313
// FIXME: let expression
314
314
if target. is_none ( ) && env_build. is_some ( ) {
315
- return Ok ( env_build) ;
315
+ return env_build;
316
316
}
317
317
318
318
if target. is_none ( ) {
319
- Ok ( build. map ( ToOwned :: to_owned) )
319
+ build. map ( ToOwned :: to_owned)
320
320
} else {
321
- Ok ( target. map ( ToOwned :: to_owned) )
321
+ target. map ( ToOwned :: to_owned)
322
322
}
323
323
}
324
324
@@ -327,11 +327,11 @@ impl Config {
327
327
target : & Target ,
328
328
env : impl Fn ( & Environment , & Target ) -> ( Option < T > , Option < T > ) ,
329
329
config : impl Fn ( & CrossToml , & Target ) -> ( Option < T > , Option < T > ) ,
330
- ) -> Result < Option < T > > {
330
+ ) -> Option < T > {
331
331
let ( env_build, env_target) = env ( & self . env , target) ;
332
332
333
333
if let Some ( env_target) = env_target {
334
- return Ok ( Some ( env_target) ) ;
334
+ return Some ( env_target) ;
335
335
}
336
336
337
337
let ( build, target) = self
@@ -342,13 +342,13 @@ impl Config {
342
342
343
343
// FIXME: let expression
344
344
if target. is_none ( ) && env_build. is_some ( ) {
345
- return Ok ( env_build) ;
345
+ return env_build;
346
346
}
347
347
348
348
if target. is_none ( ) {
349
- Ok ( build)
349
+ build
350
350
} else {
351
- Ok ( target)
351
+ target
352
352
}
353
353
}
354
354
@@ -361,33 +361,33 @@ impl Config {
361
361
self . bool_from_config ( target, Environment :: xargo, CrossToml :: xargo)
362
362
}
363
363
364
- pub fn build_std ( & self , target : & Target ) -> Result < Option < BuildStd > > {
364
+ pub fn build_std ( & self , target : & Target ) -> Option < BuildStd > {
365
365
self . get_from_ref ( target, Environment :: build_std, CrossToml :: build_std)
366
366
}
367
367
368
368
pub fn zig ( & self , target : & Target ) -> Option < bool > {
369
369
self . bool_from_config ( target, Environment :: zig, CrossToml :: zig)
370
370
}
371
371
372
- pub fn zig_version ( & self , target : & Target ) -> Result < Option < String > > {
372
+ pub fn zig_version ( & self , target : & Target ) -> Option < String > {
373
373
self . get_from_value ( target, Environment :: zig_version, CrossToml :: zig_version)
374
374
}
375
375
376
376
pub fn zig_image ( & self , target : & Target ) -> Result < Option < PossibleImage > > {
377
377
let ( b, t) = self . env . zig_image ( target) ?;
378
- self . get_from_value ( target, |_, _| ( b. clone ( ) , t. clone ( ) ) , CrossToml :: zig_image)
378
+ Ok ( self . get_from_value ( target, |_, _| ( b. clone ( ) , t. clone ( ) ) , CrossToml :: zig_image) )
379
379
}
380
380
381
381
pub fn image ( & self , target : & Target ) -> Result < Option < PossibleImage > > {
382
382
let env = self . env . image ( target) ?;
383
- self . get_from_ref (
383
+ Ok ( self . get_from_ref (
384
384
target,
385
385
move |_, _| ( None , env. clone ( ) ) ,
386
386
|toml, target| ( None , toml. image ( target) ) ,
387
- )
387
+ ) )
388
388
}
389
389
390
- pub fn runner ( & self , target : & Target ) -> Result < Option < String > > {
390
+ pub fn runner ( & self , target : & Target ) -> Option < String > {
391
391
self . get_from_ref (
392
392
target,
393
393
|env, target| ( None , env. runner ( target) ) ,
@@ -411,7 +411,7 @@ impl Config {
411
411
self . env . build_opts ( )
412
412
}
413
413
414
- pub fn env_passthrough ( & self , target : & Target ) -> Result < Option < Vec < String > > > {
414
+ pub fn env_passthrough ( & self , target : & Target ) -> Option < Vec < String > > {
415
415
self . vec_from_config (
416
416
target,
417
417
Environment :: passthrough,
@@ -420,7 +420,7 @@ impl Config {
420
420
)
421
421
}
422
422
423
- pub fn env_volumes ( & self , target : & Target ) -> Result < Option < Vec < String > > > {
423
+ pub fn env_volumes ( & self , target : & Target ) -> Option < Vec < String > > {
424
424
self . get_from_ref ( target, Environment :: volumes, CrossToml :: env_volumes)
425
425
}
426
426
@@ -433,29 +433,26 @@ impl Config {
433
433
. and_then ( |t| t. default_target ( target_list) )
434
434
}
435
435
436
- pub fn dockerfile ( & self , target : & Target ) -> Result < Option < String > > {
436
+ pub fn dockerfile ( & self , target : & Target ) -> Option < String > {
437
437
self . get_from_ref ( target, Environment :: dockerfile, CrossToml :: dockerfile)
438
438
}
439
439
440
- pub fn dockerfile_context ( & self , target : & Target ) -> Result < Option < String > > {
440
+ pub fn dockerfile_context ( & self , target : & Target ) -> Option < String > {
441
441
self . get_from_ref (
442
442
target,
443
443
Environment :: dockerfile_context,
444
444
CrossToml :: dockerfile_context,
445
445
)
446
446
}
447
447
448
- pub fn dockerfile_build_args (
449
- & self ,
450
- target : & Target ,
451
- ) -> Result < Option < HashMap < String , String > > > {
448
+ pub fn dockerfile_build_args ( & self , target : & Target ) -> Option < HashMap < String , String > > {
452
449
// This value does not support env variables
453
450
self . toml
454
451
. as_ref ( )
455
- . map_or ( Ok ( None ) , |t| Ok ( t. dockerfile_build_args ( target) ) )
452
+ . and_then ( |t| t. dockerfile_build_args ( target) )
456
453
}
457
454
458
- pub fn pre_build ( & self , target : & Target ) -> Result < Option < PreBuild > > {
455
+ pub fn pre_build ( & self , target : & Target ) -> Option < PreBuild > {
459
456
self . get_from_ref ( target, Environment :: pre_build, CrossToml :: pre_build)
460
457
}
461
458
@@ -464,7 +461,7 @@ impl Config {
464
461
& ' a self ,
465
462
env_values : Option < impl AsRef < [ String ] > > ,
466
463
toml_getter : impl FnOnce ( & ' a CrossToml ) -> ( Option < & ' a [ String ] > , Option < & ' a [ String ] > ) ,
467
- ) -> Result < Option < Vec < String > > > {
464
+ ) -> Option < Vec < String > > {
468
465
let mut defined = false ;
469
466
let mut collect = vec ! [ ] ;
470
467
if let Some ( vars) = env_values {
@@ -481,9 +478,9 @@ impl Config {
481
478
}
482
479
}
483
480
if !defined {
484
- Ok ( None )
481
+ None
485
482
} else {
486
- Ok ( Some ( collect) )
483
+ Some ( collect)
487
484
}
488
485
}
489
486
}
@@ -635,9 +632,9 @@ mod tests {
635
632
let env = Environment :: new ( Some ( map) ) ;
636
633
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_XARGO_FALSE ) ?) , env) ;
637
634
assert_eq ! ( config. xargo( & target( ) ) , Some ( true ) ) ;
638
- assert_eq ! ( config. build_std( & target( ) ) ? , None ) ;
635
+ assert_eq ! ( config. build_std( & target( ) ) , None ) ;
639
636
assert_eq ! (
640
- config. pre_build( & target( ) ) ? ,
637
+ config. pre_build( & target( ) ) ,
641
638
Some ( PreBuild :: Lines ( vec![
642
639
s!( "apt-get update" ) ,
643
640
s!( "apt-get install zlib-dev" )
@@ -657,10 +654,10 @@ mod tests {
657
654
let config = Config :: new_with ( Some ( toml ( TOML_TARGET_XARGO_FALSE ) ?) , env) ;
658
655
assert_eq ! ( config. xargo( & target( ) ) , Some ( true ) ) ;
659
656
assert_eq ! (
660
- config. build_std( & target( ) ) ? ,
657
+ config. build_std( & target( ) ) ,
661
658
Some ( BuildStd :: Crates ( vec![ "core" . to_owned( ) ] ) )
662
659
) ;
663
- assert_eq ! ( config. pre_build( & target( ) ) ? , None ) ;
660
+ assert_eq ! ( config. pre_build( & target( ) ) , None ) ;
664
661
665
662
Ok ( ( ) )
666
663
}
@@ -673,8 +670,8 @@ mod tests {
673
670
let env = Environment :: new ( Some ( map) ) ;
674
671
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_XARGO_FALSE ) ?) , env) ;
675
672
assert_eq ! ( config. xargo( & target( ) ) , Some ( true ) ) ;
676
- assert_eq ! ( config. build_std( & target( ) ) ? , None ) ;
677
- assert_eq ! ( config. pre_build( & target( ) ) ? , None ) ;
673
+ assert_eq ! ( config. build_std( & target( ) ) , None ) ;
674
+ assert_eq ! ( config. pre_build( & target( ) ) , None ) ;
678
675
679
676
Ok ( ( ) )
680
677
}
@@ -690,7 +687,7 @@ mod tests {
690
687
let env = Environment :: new ( Some ( map) ) ;
691
688
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_PRE_BUILD ) ?) , env) ;
692
689
assert_eq ! (
693
- config. pre_build( & target( ) ) ? ,
690
+ config. pre_build( & target( ) ) ,
694
691
Some ( PreBuild :: Single {
695
692
line: s!( "dpkg --add-architecture arm64" ) ,
696
693
env: true
@@ -711,14 +708,14 @@ mod tests {
711
708
712
709
let env = Environment :: new ( Some ( map) ) ;
713
710
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_DOCKERFILE ) ?) , env) ;
714
- assert_eq ! ( config. dockerfile( & target( ) ) ? , Some ( s!( "Dockerfile4" ) ) ) ;
715
- assert_eq ! ( config. dockerfile( & target2( ) ) ? , Some ( s!( "Dockerfile3" ) ) ) ;
711
+ assert_eq ! ( config. dockerfile( & target( ) ) , Some ( s!( "Dockerfile4" ) ) ) ;
712
+ assert_eq ! ( config. dockerfile( & target2( ) ) , Some ( s!( "Dockerfile3" ) ) ) ;
716
713
717
714
let map = HashMap :: new ( ) ;
718
715
let env = Environment :: new ( Some ( map) ) ;
719
716
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_DOCKERFILE ) ?) , env) ;
720
- assert_eq ! ( config. dockerfile( & target( ) ) ? , Some ( s!( "Dockerfile2" ) ) ) ;
721
- assert_eq ! ( config. dockerfile( & target2( ) ) ? , Some ( s!( "Dockerfile1" ) ) ) ;
717
+ assert_eq ! ( config. dockerfile( & target( ) ) , Some ( s!( "Dockerfile2" ) ) ) ;
718
+ assert_eq ! ( config. dockerfile( & target2( ) ) , Some ( s!( "Dockerfile1" ) ) ) ;
722
719
723
720
Ok ( ( ) )
724
721
}
@@ -729,11 +726,11 @@ mod tests {
729
726
let env = Environment :: new ( Some ( map) ) ;
730
727
let config = Config :: new_with ( Some ( toml ( TOML_ARRAYS_BOTH ) ?) , env) ;
731
728
assert_eq ! (
732
- config. env_passthrough( & target( ) ) ? ,
729
+ config. env_passthrough( & target( ) ) ,
733
730
Some ( vec![ s!( "VAR1" ) , s!( "VAR2" ) , s!( "VAR3" ) , s!( "VAR4" ) ] )
734
731
) ;
735
732
assert_eq ! (
736
- config. env_volumes( & target( ) ) ? ,
733
+ config. env_volumes( & target( ) ) ,
737
734
Some ( vec![ s!( "VOLUME3" ) , s!( "VOLUME4" ) ] )
738
735
) ;
739
736
@@ -746,11 +743,11 @@ mod tests {
746
743
let env = Environment :: new ( Some ( map) ) ;
747
744
let config = Config :: new_with ( Some ( toml ( TOML_ARRAYS_BUILD ) ?) , env) ;
748
745
assert_eq ! (
749
- config. env_passthrough( & target( ) ) ? ,
746
+ config. env_passthrough( & target( ) ) ,
750
747
Some ( vec![ s!( "VAR1" ) , s!( "VAR2" ) ] )
751
748
) ;
752
749
assert_eq ! (
753
- config. env_volumes( & target( ) ) ? ,
750
+ config. env_volumes( & target( ) ) ,
754
751
Some ( vec![ s!( "VOLUME1" ) , s!( "VOLUME2" ) ] )
755
752
) ;
756
753
@@ -763,11 +760,11 @@ mod tests {
763
760
let env = Environment :: new ( Some ( map) ) ;
764
761
let config = Config :: new_with ( Some ( toml ( TOML_ARRAYS_TARGET ) ?) , env) ;
765
762
assert_eq ! (
766
- config. env_passthrough( & target( ) ) ? ,
763
+ config. env_passthrough( & target( ) ) ,
767
764
Some ( vec![ s!( "VAR3" ) , s!( "VAR4" ) ] )
768
765
) ;
769
766
assert_eq ! (
770
- config. env_volumes( & target( ) ) ? ,
767
+ config. env_volumes( & target( ) ) ,
771
768
Some ( vec![ s!( "VOLUME3" ) , s!( "VOLUME4" ) ] )
772
769
) ;
773
770
@@ -782,7 +779,7 @@ mod tests {
782
779
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_VOLUMES ) ?) , env) ;
783
780
let expected = [ s ! ( "VOLUME1" ) , s ! ( "VOLUME2" ) ] ;
784
781
785
- let result = config. env_volumes ( & target ( ) ) . unwrap ( ) . unwrap_or_default ( ) ;
782
+ let result = config. env_volumes ( & target ( ) ) . unwrap_or_default ( ) ;
786
783
dbg ! ( & result) ;
787
784
assert ! ( result. len( ) == 2 ) ;
788
785
assert ! ( result. contains( & expected[ 0 ] ) ) ;
@@ -798,7 +795,7 @@ mod tests {
798
795
let config = Config :: new_with ( Some ( toml ( TOML_BUILD_VOLUMES ) ?) , env) ;
799
796
let expected = [ s ! ( "VOLUME3" ) , s ! ( "VOLUME4" ) ] ;
800
797
801
- let result = config. env_volumes ( & target ( ) ) . unwrap ( ) . unwrap_or_default ( ) ;
798
+ let result = config. env_volumes ( & target ( ) ) . unwrap_or_default ( ) ;
802
799
dbg ! ( & result) ;
803
800
assert ! ( result. len( ) == 2 ) ;
804
801
assert ! ( result. contains( & expected[ 0 ] ) ) ;
0 commit comments