Skip to content

stack ide start fails to start if the project has compile errors #810

@CRogers

Description

@CRogers

This gist has the minimal failing example. The expected behaviour of stack ide start is to start up stack-ide even if there are compile errors. However, stack now tries to build the project first which fails with compile errors:

$ stack --version
Version 0.1.3.1, Git revision 28a8f6a643d43a1cdbd3d2bc734359e4b74c7255
$ stack ide start --verbose
Version 0.1.3.1, Git revision 28a8f6a643d43a1cdbd3d2bc734359e4b74c7255
2015-08-17 18:41:19.778771: [debug] Checking for project config at: /Users/callumr/Dropbox/Programming/atom/atom-stack-ide/haskell/test-data/one-source-error/stack.yaml @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Config src/Stack/Config.hs:466:9)
2015-08-17 18:41:19.779075: [debug] Loading project config file stack.yaml @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Config src/Stack/Config.hs:489:13)
2015-08-17 18:41:19.784362: [debug] Run process: ghc --info @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:19.845723: [debug] Run process: ghc --numeric-version @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:19.880178: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal id @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:19.907664: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:19.933647: [debug] Checking resolver: lts-3.0 @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Source src/Stack/Build/Source.hs:147:17)
2015-08-17 18:41:19.943532: [debug] Checking resolver: lts-3.0 @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Source src/Stack/Build/Source.hs:147:17)
2015-08-17 18:41:20.126177: [debug] Checking resolver: lts-3.0 @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Source src/Stack/Build/Source.hs:147:17)
2015-08-17 18:41:20.285417: [debug] Run process: ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:20.323535: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /Users/callumr/.stack/snapshots/x86_64-osx/lts-3.0/7.10.2/pkgdb/ dump --expand-pkgroot @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:20.405149: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /Users/callumr/Dropbox/Programming/atom/atom-stack-ide/haskell/test-data/one-source-error/.stack-work/install/x86_64-osx/lts-3.0/7.10.2/pkgdb/ dump --expand-pkgroot @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:20.797909: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_5d6BW9mjZpYKU0uYDUjIqC:System.Process.Read src/System/Process/Read.hs:257:3)
2015-08-17 18:41:20.826825: [info] one-source-error-0.1.0.0: build @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:512:18)
2015-08-17 18:41:20.827126: [debug] Run process: /Users/callumr/.stack/programs/x86_64-osx/ghc-7.10.2/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/callumr/.stack/snapshots/x86_64-osx/lts-3.0/7.10.2/pkgdb/ /var/folders/gx/7lt1gq996118d06q7g9ft7dd080grz/T/stack25058/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ build --ghc-options "-hpcdir .stack-work/dist/x86_64-osx/Cabal-1.22.4.0/hpc/.hpc/ -ddump-hi -ddump-to-file" @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:597:21)
2015-08-17 18:41:21.019159: [info] Building one-source-error-0.1.0.0... @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.044265: [info] Preprocessing library one-source-error-0.1.0.0... @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.119701: [info] [1 of 1] Compiling OneSourceError   ( OneSourceError.hs, .stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/OneSourceError.o ) @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.161471: [warn]  @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.161869: [warn] /Users/callumr/Dropbox/Programming/atom/atom-stack-ide/haskell/test-data/one-source-error/OneSourceError.hs:4:8: @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.161934: [warn]     No instance for (Num [Char]) arising from the literal ‘1’ @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.161976: [warn]     In the first argument of ‘(++)’, namely ‘1’ @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.168663: [warn]     In the expression: 1 ++ "str" @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)
2015-08-17 18:41:21.168731: [warn]     In an equation for ‘expr’: expr = 1 ++ "str" @(stack_5d6BW9mjZpYKU0uYDUjIqC:Stack.Build.Execute src/Stack/Build/Execute.hs:950:35)

--  While building package one-source-error-0.1.0.0 using:
      /Users/callumr/.stack/programs/x86_64-osx/ghc-7.10.2/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/callumr/.stack/snapshots/x86_64-osx/lts-3.0/7.10.2/pkgdb/ /var/folders/gx/7lt1gq996118d06q7g9ft7dd080grz/T/stack25058/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ build --ghc-options -hpcdir .stack-work/dist/x86_64-osx/Cabal-1.22.4.0/hpc/.hpc/ -ddump-hi -ddump-to-file
    Process exited with code: ExitFailure 1

This reminds of the nightmarish behaviour of cabal-installs cabal repl, which would fail to start up unless everything built fine, making developing ide plugins (as well as just trying to use the repl) a real pain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions