@@ -443,38 +443,42 @@ impl Serialize for Target {
443443}
444444
445445#[ derive( Debug , Clone , Copy , PartialEq , Eq ) ]
446- pub enum CargoVariant {
446+ pub enum CommandVariant {
447447 Cargo ,
448448 Xargo ,
449449 Zig ,
450- None ,
450+ Shell ,
451451}
452452
453- impl CargoVariant {
454- pub fn create ( uses_zig : bool , uses_xargo : bool ) -> Result < CargoVariant > {
453+ impl CommandVariant {
454+ pub fn create ( uses_zig : bool , uses_xargo : bool ) -> Result < CommandVariant > {
455455 match ( uses_zig, uses_xargo) {
456456 ( true , true ) => eyre:: bail!( "cannot use both zig and xargo" ) ,
457- ( true , false ) => Ok ( CargoVariant :: Zig ) ,
458- ( false , true ) => Ok ( CargoVariant :: Xargo ) ,
459- ( false , false ) => Ok ( CargoVariant :: Cargo ) ,
457+ ( true , false ) => Ok ( CommandVariant :: Zig ) ,
458+ ( false , true ) => Ok ( CommandVariant :: Xargo ) ,
459+ ( false , false ) => Ok ( CommandVariant :: Cargo ) ,
460460 }
461461 }
462462
463463 pub fn to_str ( self ) -> & ' static str {
464464 match self {
465- CargoVariant :: Cargo => "cargo" ,
466- CargoVariant :: Xargo => "xargo" ,
467- CargoVariant :: Zig => "cargo-zigbuild" ,
468- CargoVariant :: None => "" ,
465+ CommandVariant :: Cargo => "cargo" ,
466+ CommandVariant :: Xargo => "xargo" ,
467+ CommandVariant :: Zig => "cargo-zigbuild" ,
468+ CommandVariant :: Shell => "sh " ,
469469 }
470470 }
471471
472472 pub fn uses_xargo ( self ) -> bool {
473- self == CargoVariant :: Xargo
473+ self == CommandVariant :: Xargo
474474 }
475475
476476 pub fn uses_zig ( self ) -> bool {
477- self == CargoVariant :: Zig
477+ self == CommandVariant :: Zig
478+ }
479+
480+ pub ( crate ) fn is_shell ( self ) -> bool {
481+ self == CommandVariant :: Shell
478482 }
479483}
480484
@@ -606,8 +610,9 @@ pub fn run(
606610 target. clone ( ) ,
607611 config,
608612 image,
609- crate :: CargoVariant :: create ( uses_zig, uses_xargo) ?,
613+ crate :: CommandVariant :: create ( uses_zig, uses_xargo) ?,
610614 rustc_version,
615+ false ,
611616 ) ;
612617
613618 install_interpreter_if_needed (
@@ -617,16 +622,8 @@ pub fn run(
617622 & options,
618623 msg_info,
619624 ) ?;
620- let cmd = options. cargo_variant . safe_command ( ) ;
621- let status = docker:: run (
622- options,
623- paths,
624- cmd,
625- & filtered_args,
626- args. subcommand ,
627- msg_info,
628- )
629- . wrap_err ( "could not run container" ) ?;
625+ let status = docker:: run ( options, paths, & filtered_args, args. subcommand , msg_info)
626+ . wrap_err ( "could not run container" ) ?;
630627 let needs_host = args. subcommand . map_or ( false , |sc| sc. needs_host ( is_remote) ) ;
631628 if !status. success ( ) {
632629 warn_on_failure ( & target, & toolchain, msg_info) ?;
0 commit comments