summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/task.rs
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-10-28 22:14:42 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-10-28 23:28:04 +0200
commit00f1c87d3d841f5b24c89d370868cf0306896877 (patch)
tree8b08c9a1c88ce19a3a0170a950514d320f11ac66 /crates/runner/src/task.rs
parent3c8227c34b08eeff6d1b016d08bd29a17d3ad251 (diff)
downloadrebel-00f1c87d3d841f5b24c89d370868cf0306896877.tar
rebel-00f1c87d3d841f5b24c89d370868cf0306896877.zip
Pass full Output path to runner
Concatenate TASK_DESTDIR with output path in driver instead of runner to reduce amount of shared logic between driver and runner.
Diffstat (limited to 'crates/runner/src/task.rs')
-rw-r--r--crates/runner/src/task.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/crates/runner/src/task.rs b/crates/runner/src/task.rs
index dc15ec5..f045d00 100644
--- a/crates/runner/src/task.rs
+++ b/crates/runner/src/task.rs
@@ -2,7 +2,7 @@ use std::{
collections::HashMap,
io::BufWriter,
os::unix::prelude::CommandExt,
- path::{Path, PathBuf},
+ path::Path,
process::{self, Command, Stdio},
time::Instant,
};
@@ -194,10 +194,8 @@ fn unpack_dependencies(input_hash: &InputHash, task: &Task) -> Result<()> {
}
fn collect_output(input_hash: &InputHash, path: &str) -> Result<Option<ArchiveHash>> {
- let source: PathBuf = [&paths::task_tmp_dir(input_hash), paths::TASK_DESTDIR, path]
- .iter()
- .collect();
- if !source.is_dir() {
+ let source = paths::join(&[&paths::task_tmp_dir(input_hash), path]);
+ if !Path::new(&source).is_dir() {
return Ok(None);
}