Closed
Description
Discussed with @mgsloan already. The current reason for this is dealing with code coverage better, but this should in general make Stack behave better for common cases. (@meteficha, you in particular will probably like this.)
Currently, Stack does a separate cabal build
for the library/executables, tests, and benchmarks. The reason is cyclic dependencies: package B may depend on package A, while package A's test suite depends on package B. We want to tweak this as follows:
- When there are cyclic dependencies: act just as we do today
- Otherwise: force all test and benchmark dependencies (as requested) to be built before building a package, and then build all necessary components at once.