MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / ensure_command

Function ensure_command

vmm/build.rs:93–116  ·  view source on GitHub ↗
(
    program: &str,
    args: &[&str],
    display_name: &str,
)

Source from the content-addressed store, hash-verified

91}
92
93fn ensure_command(
94 program: &str,
95 args: &[&str],
96 display_name: &str,
97) -> Result<(), Box<dyn std::error::Error>> {
98 match Command::new(program).args(args).output() {
99 Ok(output) if output.status.success() => Ok(()),
100 Ok(output) => {
101 let stderr = String::from_utf8_lossy(&output.stderr);
102 let stdout = String::from_utf8_lossy(&output.stdout);
103 Err(format!(
104 "{display_name} is required to build vmm/ui. Please install it first. `{program} {}` failed. stdout: {} stderr: {}",
105 args.join(" "),
106 stdout.trim(),
107 stderr.trim(),
108 )
109 .into())
110 }
111 Err(err) => Err(format!(
112 "{display_name} is required to build vmm/ui. Please install Node.js and npm first: {err}"
113 )
114 .into()),
115 }
116}
117
118fn should_run_npm_ci(ui_dir: &Path) -> Result<bool, Box<dyn std::error::Error>> {
119 let package_json = ui_dir.join("package.json");

Callers 1

build_consoleFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected