substrate_manager/ops/
substrate_run.rs

1use std::process::Command;
2
3use anyhow::Ok;
4
5use crate::util::{Config, SubstrateResult};
6
7pub struct RunOptions {
8    pub chain: String,
9}
10
11pub fn run(opts: &RunOptions) -> SubstrateResult<()> {
12    let mut args = vec!["+nightly", "run", "--release", "--"];
13    if opts.chain == "dev" {
14        // 'dev' gets special treatment
15        args.push("--dev");
16    } else {
17        args.extend(["--chain", &opts.chain]);
18    }
19    Command::new("cargo")
20        .args(args)
21        .status()?;
22
23    Ok(())
24}