Skip to content

Commit 3704009

Browse files
committed
remove run method from lib.rs, as we are now using run method via execution context
1 parent 64573d0 commit 3704009

File tree

1 file changed

+0
-127
lines changed

1 file changed

+0
-127
lines changed

src/bootstrap/src/lib.rs

Lines changed: 0 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -945,133 +945,6 @@ impl Build {
945945
})
946946
}
947947

948-
/// Execute a command and return its output.
949-
/// Note: Ideally, you should use one of the BootstrapCommand::run* functions to
950-
/// execute commands. They internally call this method.
951-
#[track_caller]
952-
fn run(
953-
&self,
954-
command: &mut BootstrapCommand,
955-
stdout: OutputMode,
956-
stderr: OutputMode,
957-
) -> CommandOutput {
958-
command.mark_as_executed();
959-
if self.config.dry_run() && !command.run_always {
960-
return CommandOutput::default();
961-
}
962-
963-
#[cfg(feature = "tracing")]
964-
let _run_span = trace_cmd!(command);
965-
966-
let created_at = command.get_created_location();
967-
let executed_at = std::panic::Location::caller();
968-
969-
self.verbose(|| {
970-
println!("running: {command:?} (created at {created_at}, executed at {executed_at})")
971-
});
972-
973-
let cmd = command.as_command_mut();
974-
cmd.stdout(stdout.stdio());
975-
cmd.stderr(stderr.stdio());
976-
977-
let output = cmd.output();
978-
979-
use std::fmt::Write;
980-
981-
let mut message = String::new();
982-
let output: CommandOutput = match output {
983-
// Command has succeeded
984-
Ok(output) if output.status.success() => {
985-
CommandOutput::from_output(output, stdout, stderr)
986-
}
987-
// Command has started, but then it failed
988-
Ok(output) => {
989-
writeln!(
990-
message,
991-
r#"
992-
Command {command:?} did not execute successfully.
993-
Expected success, got {}
994-
Created at: {created_at}
995-
Executed at: {executed_at}"#,
996-
output.status,
997-
)
998-
.unwrap();
999-
1000-
let output: CommandOutput = CommandOutput::from_output(output, stdout, stderr);
1001-
1002-
// If the output mode is OutputMode::Capture, we can now print the output.
1003-
// If it is OutputMode::Print, then the output has already been printed to
1004-
// stdout/stderr, and we thus don't have anything captured to print anyway.
1005-
if stdout.captures() {
1006-
writeln!(message, "\nSTDOUT ----\n{}", output.stdout().trim()).unwrap();
1007-
}
1008-
if stderr.captures() {
1009-
writeln!(message, "\nSTDERR ----\n{}", output.stderr().trim()).unwrap();
1010-
}
1011-
output
1012-
}
1013-
// The command did not even start
1014-
Err(e) => {
1015-
writeln!(
1016-
message,
1017-
"\n\nCommand {command:?} did not execute successfully.\
1018-
\nIt was not possible to execute the command: {e:?}"
1019-
)
1020-
.unwrap();
1021-
CommandOutput::did_not_start(stdout, stderr)
1022-
}
1023-
};
1024-
1025-
let fail = |message: &str, output: CommandOutput| -> ! {
1026-
if self.is_verbose() {
1027-
println!("{message}");
1028-
} else {
1029-
let (stdout, stderr) = (output.stdout_if_present(), output.stderr_if_present());
1030-
// If the command captures output, the user would not see any indication that
1031-
// it has failed. In this case, print a more verbose error, since to provide more
1032-
// context.
1033-
if stdout.is_some() || stderr.is_some() {
1034-
if let Some(stdout) =
1035-
output.stdout_if_present().take_if(|s| !s.trim().is_empty())
1036-
{
1037-
println!("STDOUT:\n{stdout}\n");
1038-
}
1039-
if let Some(stderr) =
1040-
output.stderr_if_present().take_if(|s| !s.trim().is_empty())
1041-
{
1042-
println!("STDERR:\n{stderr}\n");
1043-
}
1044-
println!("Command {command:?} has failed. Rerun with -v to see more details.");
1045-
} else {
1046-
println!("Command has failed. Rerun with -v to see more details.");
1047-
}
1048-
}
1049-
exit!(1);
1050-
};
1051-
1052-
if !output.is_success() {
1053-
match command.failure_behavior {
1054-
BehaviorOnFailure::DelayFail => {
1055-
if self.fail_fast {
1056-
fail(&message, output);
1057-
}
1058-
1059-
let mut failures = self.delayed_failures.borrow_mut();
1060-
failures.push(message);
1061-
}
1062-
BehaviorOnFailure::Exit => {
1063-
fail(&message, output);
1064-
}
1065-
BehaviorOnFailure::Ignore => {
1066-
// If failures are allowed, either the error has been printed already
1067-
// (OutputMode::Print) or the user used a capture output mode and wants to
1068-
// handle the error output on their own.
1069-
}
1070-
}
1071-
}
1072-
output
1073-
}
1074-
1075948
/// Check if verbosity is greater than the `level`
1076949
pub fn is_verbose_than(&self, level: usize) -> bool {
1077950
self.verbosity > level

0 commit comments

Comments
 (0)