Browse Source

Build runtime in coordinator's build script

tags/v0.0.0-test.4
Philipp Oppermann 3 years ago
parent
commit
42cbef025d
2 changed files with 32 additions and 7 deletions
  1. +24
    -0
      coordinator/build.rs
  2. +8
    -7
      coordinator/src/main.rs

+ 24
- 0
coordinator/build.rs View File

@@ -0,0 +1,24 @@
use std::{path::PathBuf, process::Command};

fn main() {
let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());

build_runtime(&out_dir);
}

fn build_runtime(out_dir: &PathBuf) {
let mut cmd = Command::new(std::env::var("CARGO").unwrap());
cmd.arg("build");
cmd.arg("-p").arg("dora-runtime");
cmd.arg("--release");
let target_dir = out_dir.join("runtime");
cmd.arg("--target-dir").arg(&target_dir);
let status = cmd.status().unwrap();
if !status.success() {
panic!("runtime build failed");
}
println!(
"cargo:rustc-env=DORA_RUNTIME_PATH={}",
target_dir.join("release").join("dora-runtime").display()
);
}

+ 8
- 7
coordinator/src/main.rs View File

@@ -10,11 +10,12 @@ enum Command {
#[clap(about = "Print Graph")]
Visualize { dataflow: PathBuf },
#[clap(about = "Run dataflow pipeline")]
Run {
dataflow: PathBuf,
#[clap(long)]
runtime: PathBuf,
},
Run { dataflow: PathBuf },
}

fn runtime_path() -> &'static Path {
const RUNTIME_PATH: &str = env!("DORA_RUNTIME_PATH");
Path::new(RUNTIME_PATH)
}

#[tokio::main]
@@ -32,7 +33,7 @@ async fn main() -> eyre::Result<()> {
```mermaid code block on GitHub to display it."
);
}
Command::Run { dataflow, runtime } => run_dataflow(dataflow.clone(), runtime)
Command::Run { dataflow } => run_dataflow(dataflow.clone(), runtime_path())
.await
.wrap_err_with(|| format!("failed to run dataflow at {}", dataflow.display()))?,
}
@@ -40,7 +41,7 @@ async fn main() -> eyre::Result<()> {
Ok(())
}

async fn run_dataflow(dataflow_path: PathBuf, runtime: PathBuf) -> eyre::Result<()> {
async fn run_dataflow(dataflow_path: PathBuf, runtime: &Path) -> eyre::Result<()> {
let Descriptor {
mut communication,
nodes,


Loading…
Cancel
Save