Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix non-determinism in bootstrap scalac actions when executing outsid…
…e of a sandbox This fixes a bug where every bootstrap scalac action was writing class files to the same directory: tmp/classes. Each action would run scalac with the output directory set to tmp/classes and then create a jar from all the class files in that directory. If you're only running a single bootstrap scalac action, then this works fine. The bug happens when you run multiple bootstrap scalac actions because you build up class files in the tmp/classes. This causes the jars you produce to contain not only the current target's class files, but also any class files from previous bootstrap scalac actions. Which specific class files are in your jar depend on what actions have run up until that point in time. This is not deterministic. When executing with the sandboxed strategy this bug wasn't an issue because the sandbox kept actions sufficiently isolated from each other. Meaning you'd get only your action's classes in the output jar.
- Loading branch information