-
Notifications
You must be signed in to change notification settings - Fork 848
Closed
Labels
Milestone
Description
Might be a duplicate of #3760, but the symptoms are slightly different, so submiting this anyway
General summary/comments (optional)
On a project with two cabal packages (let's call them proj1 and proj2) with proj2 depending on proj1, running stack build proj2 will rebuild proj1 and proj2 even just after a stack build (and further running stack build will rebuild the whole project again)
Steps to reproduce
git clone https://github.com/regnat/stack-too-much-rebuilds.git && cd stack-too-much-rebuilds
stack build
stack build proj2
stack build
Expected
- The first
stack buildshould buildproj1andproj2 stack build proj2should be a noop- the second
stack buildshould be a noop too
Actual
- The first `stack build does build the project as expected
stack build proj2unregistersproj1(with the messageproj1-0.1.0.0: unregistering (local file changes: app/Main.hs)), and then rebuilds the whole project- The second
stack buildalso unregistersproj1(with the messageproj1-0.1.0.0: unregistering (components added: exe:proj1-exe)) and then rebuild the whole project
Stack version
$ stack --version
Version 1.6.3 x86_64
Compiled with:
- Cabal-2.0.1.0
- Glob-0.9.1
- HUnit-1.6.0.0
- QuickCheck-2.10.1
- StateVar-1.1.0.4
- aeson-1.2.3.0
- aeson-compat-0.3.7.1
- annotated-wl-pprint-0.7.0
- ansi-terminal-0.7.1.1
- ansi-wl-pprint-0.6.8.1
- array-0.5.2.0
- asn1-encoding-0.9.5
- asn1-parse-0.9.4
- asn1-types-0.3.2
- async-2.1.1.1
- attoparsec-0.13.2.0
- attoparsec-iso8601-1.0.0.0
- auto-update-0.1.4
- base-4.10.1.0
- base-compat-0.9.3
- base-orphans-0.6
- base-prelude-1.2.0.1
- base16-bytestring-0.1.1.6
- base64-bytestring-1.0.0.1
- basement-0.0.4
- bifunctors-5.5
- binary-0.8.5.1
- bindings-uname-0.1
- bitarray-0.0.1.1
- blaze-builder-0.4.0.2
- blaze-html-0.9.0.1
- blaze-markup-0.8.0.0
- byteable-0.1.1
- bytestring-0.10.8.2
- call-stack-0.1.0
- case-insensitive-1.2.0.10
- cereal-0.5.4.0
- clock-0.7.2
- colour-2.3.4
- comonad-5.0.2
- conduit-1.2.12.1
- conduit-extra-1.2.3.2
- connection-0.2.8
- containers-0.5.10.2
- contravariant-1.4
- cookie-0.4.3
- cryptohash-0.11.9
- cryptohash-sha256-0.11.101.0
- cryptonite-0.24
- cryptonite-conduit-0.2.2
- data-default-class-0.1.2.0
- deepseq-1.4.3.0
- digest-0.0.1.2
- directory-1.3.0.2
- distributive-0.5.3
- dlist-0.8.0.3
- easy-file-0.2.1
- echo-0.1.3
- ed25519-0.0.5.0
- exceptions-0.8.3
- extra-1.6.2
- fail-4.9.0.0
- fast-logger-2.4.10
- file-embed-0.0.10.1
- filelock-0.1.1.2
- filepath-1.4.1.2
- foundation-0.0.17
- free-4.12.4
- fsnotify-0.2.1.1
- generic-deriving-1.12
- ghc-boot-th-8.2.2
- ghc-prim-0.5.1.1
- gitrev-1.3.1
- hackage-security-0.5.2.2
- hashable-1.2.6.1
- hastache-0.6.1
- hinotify-0.3.9
- hourglass-0.2.10
- hpack-0.21.2
- hpc-0.6.0.3
- hspec-2.4.4
- hspec-core-2.4.4
- hspec-discover-2.4.4
- hspec-expectations-0.8.2
- hspec-smallcheck-0.4.2
- http-api-data-0.3.7.1
- http-client-0.5.7.1
- http-client-tls-0.3.5.1
- http-conduit-2.2.4
- http-types-0.9.1
- ieee754-0.8.0
- integer-gmp-1.0.1.0
- integer-logarithms-1.0.2
- lifted-base-0.2.3.11
- logict-0.6.0.2
- memory-0.14.11
- microlens-0.4.8.1
- microlens-mtl-0.1.11.0
- microlens-th-0.4.1.1
- mime-types-0.1.0.7
- mintty-0.1.1
- mmorph-1.1.0
- monad-control-1.0.2.2
- monad-logger-0.3.26
- monad-loops-0.4.3
- mono-traversable-1.0.7.0
- mtl-2.2.1
- neat-interpolation-0.3.2.1
- network-2.6.3.2
- network-uri-2.6.1.0
- old-locale-1.0.0.7
- old-time-1.1.0.3
- open-browser-0.2.1.0
- optparse-applicative-0.14.0.0
- optparse-simple-0.1.0
- parsec-3.1.11
- path-0.6.1
- path-io-1.3.3
- path-pieces-0.2.1
- pem-0.2.2
- persistent-2.7.1
- persistent-sqlite-2.6.4
- persistent-template-2.5.3
- pid1-0.1.2.0
- prelude-extras-0.4.0.3
- pretty-1.1.3.3
- primitive-0.6.2.0
- process-1.6.1.0
- profunctors-5.2.1
- project-template-0.2.0
- quickcheck-io-0.2.0
- random-1.1
- regex-applicative-0.3.3
- regex-applicative-text-0.1.0.1
- resource-pool-0.2.3.2
- resourcet-1.1.10
- retry-0.7.5.1
- rts-1.0
- safe-0.3.15
- scientific-0.3.5.2
- semigroupoids-5.2.1
- semigroups-0.18.3
- setenv-0.1.1.3
- silently-1.2.5
- smallcheck-1.1.3.1
- socks-0.5.6
- split-0.2.3.2
- stm-2.4.4.1
- stm-chans-3.0.0.4
- store-0.4.3.2
- store-core-0.4.1
- streaming-commons-0.1.18
- syb-0.7
- tagged-0.8.5
- tar-0.5.0.3
- template-haskell-2.12.0.0
- temporary-1.2.1.1
- text-1.2.2.2
- text-metrics-0.3.0
- tf-random-0.5
- th-abstraction-0.2.6.0
- th-expand-syns-0.4.4.0
- th-lift-0.7.7
- th-lift-instances-0.1.11
- th-orphans-0.13.4
- th-reify-many-0.1.8
- th-utilities-0.2.0.1
- time-1.8.0.2
- time-locale-compat-0.1.1.3
- tls-1.4.0
- transformers-0.5.2.0
- transformers-base-0.4.4
- transformers-compat-0.5.1.4
- typed-process-0.2.1.0
- unicode-transforms-0.3.3
- unix-2.7.2.2
- unix-compat-0.5.0.1
- unix-time-0.3.7
- unliftio-0.2.2.0
- unliftio-core-0.1.1.0
- unordered-containers-0.2.8.0
- uri-bytestring-0.3.1.0
- uuid-types-1.0.3
- vector-0.12.0.1
- vector-algorithms-0.7.0.1
- void-0.7.2
- x509-1.7.2
- x509-store-1.6.5
- x509-system-1.6.6
- x509-validation-1.6.9
- yaml-0.8.25.1
- zip-archive-0.3.1.1
- zlib-0.6.1.2
Method of installation
nix (with nixpkgs commit a6dca042722), also tried with the official binary.