boot-clj / boot-clj/boot

Non-determinism in target task

Open
#638 2 comments 0 reactions 0 assignees View on GitHub
Bug Repro Attached
Dominant language
Clojure
Stars
1.7k
Forks
178
PR merge metrics
No merged PRs in 30d

Description

#### `build.boot` content (if applicable)

```clojure
(set-env!
:resource-paths #{"resources"})

(deftask aux []
(merge-env! :source-paths #{"src"}
:resource-paths #{"resources-aux"}))
```
#### Description

Resources are not being copied deterministically into the target directory, when running boot target

#### Steps to reproduce
See this repo for a complete demo:
https://github.com/khardenstine/boot-target-resource-reproduction
The two scripts ./build-with-deps.sh and ./build-no-deps.sh both are simply invoking: `boot aux target`. The build-with-deps script installs a few node modules in the resource directory first. Running boot aux target with those additional files results in none of the resources from "resources-aux" being copied over.

Interestingly a subtle change of moving the source-paths up into the global set-env! fixes this (see works.boot as opposed to broken.boot).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.