summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/runner/src/task.rs')
-rw-r--r--crates/runner/src/task.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/runner/src/task.rs b/crates/runner/src/task.rs
index f045d00..fd640ad 100644
--- a/crates/runner/src/task.rs
+++ b/crates/runner/src/task.rs
@@ -167,18 +167,20 @@ fn unpack_dependency<P1: AsRef<Path>, P2: AsRef<Path>>(filename: P1, dest: P2) -
fn unpack_dependencies(input_hash: &InputHash, task: &Task) -> Result<()> {
let task_tmp_dir = paths::task_tmp_dir(input_hash);
- let downloads_dir = paths::join(&[&task_tmp_dir, paths::TASK_DLDIR]);
let depends_dir = paths::join(&[&task_tmp_dir, paths::TASK_TMP_DEPENDS_SUBDIR]);
- fs::mkdir(&downloads_dir)?;
fs::mkdir(&depends_dir)?;
for dep in &task.depends {
match dep {
- Dependency::Fetch { name, .. } => {
+ Dependency::Fetch {
+ name, target_dir, ..
+ } => {
+ let path = paths::join(&[&task_tmp_dir, &target_dir]);
+ fs::mkdir(&path)?;
fs::copy(
paths::join(&[paths::DOWNLOADS_DIR, name]),
- paths::join(&[&downloads_dir, name]),
+ paths::join(&[&path, name]),
)?;
}
Dependency::Task { output, path } => {