-
Notifications
You must be signed in to change notification settings - Fork 696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unnecessary rebuilding when tests share modules declared in other-modules #1446
Comments
I'll try to reproduce, but I suspect that this is a side-effect of delegating all dependency management to |
BTW, your package does not build on GHC < 7.6 because it uses the |
Hm. Thanks for the info. I think I added that and then didn't even use it! Fixing. |
I removed the MultiWayIf pragma in jtdaugherty/vty@b3d84a5. |
Yes, there definitely seems to be some unnecessary compilation going on. Can be reproduced by just running |
I was just looking at this myself. The stub executable for |
@ttuegel Yes, but this shouldn't trigger the recompilation of all dependencies, only of the stub module. That's what I'm seeing:
There's |
@23Skidoo I see that, about |
I think I know what happens here. We put all intermediate files in Here's what I see when I run
Proposed solution: put intermediate files of each component in its own subdirectory of |
I think that this change is too dangerous to go in the next release. Also, this behaviour should also happen in 1.16, so this is not a 1.18 regression. So I'm removing the cabal-install-1.18 milestone. |
Smaller test case: https://gist.github.com/23Skidoo/6388894 On each
|
Might be related (or have some effect), but do not fix the problem: |
I'm pretty sure I accidentally fixed this bug in #3015. |
The expectation is that no compilation is performed for the second "cabal test". On my system using Cabal 1.18 and cabal-install 1.18 this is not the case. The modules in common to each test suite listen in other-modules are all recompiled.
These modules are not part of the vty library because they have dependencies specific to testing. Which should not be part of the vty depdnencies.
This may be a configuration issue in the vty.cabal. I just have had no luck figuring out what the issue is :-)
The text was updated successfully, but these errors were encountered: