Commit Graph

478 Commits

Author SHA1 Message Date
Daniel Gröber 247e4e0e76 Decrease default log level 2015-04-15 13:13:22 +02:00
Daniel Gröber fb19d021ca Fix a few warnings 2015-04-14 21:39:11 +02:00
Daniel Gröber 95b16ded6d Fix `checkComponent` 2015-04-14 00:53:40 +02:00
Daniel Gröber 9077e96aeb Fix tests 2015-04-13 23:16:14 +02:00
Daniel Gröber 94ef8fae79 Enhance debug information 2015-04-12 02:48:54 +02:00
Daniel Gröber ee4ee8765e Fix weird `resolveModule` double path issue
`mconcat` recurses into `Maybe a` which is not what I want, I just want
the first `Just` value
2015-04-12 02:48:54 +02:00
Daniel Gröber d7984faf79 No double `:` in logmsgs without a location 2015-04-12 02:48:54 +02:00
Daniel Gröber 2bf4c80580 Fix finding consistent component solution for targets
Union does the wrong thing, I wanted an intersection here.
2015-04-12 02:48:54 +02:00
Daniel Gröber 39a8ded102 Fix resolved component caching 2015-04-12 02:48:54 +02:00
Daniel Gröber ca79f99c3e Also add language options when resolving components 2015-04-12 02:48:54 +02:00
Daniel Gröber 6f59f07f00 Fix non canonicalized paths 2015-04-12 02:48:54 +02:00
Daniel Gröber 523f43c3c9 Fix some tests 2015-04-12 02:48:54 +02:00
Daniel Gröber d0ca3ee807 Fix MonadIO mess 2015-04-12 02:48:54 +02:00
Daniel Gröber f3b4da7a0e Use cabal-helper to get `buildPlatform` 2015-04-12 02:48:53 +02:00
Daniel Gröber 55216e4af3 ifdef for ghc < 7.10 2015-03-28 19:54:10 +01:00
Markus Hauck e3812b49ec GHC 7.10.0.20150123 fixes 2015-03-28 19:13:51 +01:00
Daniel Gröber 80d91776c5 Cleanup and some fixes 2015-03-28 19:13:48 +01:00
Daniel Gröber 2a02742f9e Write autogen file when calling `cabal configure` 2015-03-28 02:32:47 +01:00
Daniel Gröber 7019cbcfa1 Implement better caching for target options 2015-03-28 02:32:44 +01:00
Daniel Gröber 90d9577f8d Factor out cabal-helper into a package 2015-03-15 20:48:55 +01:00
Daniel Gröber a97e07065e Don't set -Wall on `check` 2015-03-15 20:48:05 +01:00
Daniel Gröber 6756f1d10b Get rid of some warnings with ghc-7.8 2015-03-11 13:17:24 +01:00
Daniel Gröber 539c294dd4 Fix a bunch of relate exception handling problems
should handle exceptions outside of runGmlT otherwise we don't catch ghc
load related ones.
2015-03-09 22:04:04 +01:00
Daniel Gröber 7d7f848afb Fix cabal-helper ignoring --with-* flags 2015-03-08 20:53:00 +01:00
Daniel Gröber 1ac71364a9 Fix use of (head . lines) 2015-03-08 17:33:09 +01:00
Daniel Gröber a6d3f477bc Add better handling for empty component assignments 2015-03-08 17:32:17 +01:00
Daniel Gröber baf5cad809 Pass through --with-* options to cabal-helper 2015-03-07 19:37:19 +01:00
Daniel Gröber 85d4844a0d Improve suggestions on inconsistent assignment 2015-03-06 19:49:26 +01:00
Daniel Gröber e23772b1ed Recache cabal-helper stuff when cabal-helper-* executable changes 2015-03-06 19:48:22 +01:00
Daniel Gröber c05bd816e7 Add quiet option to decrease log level 2015-03-06 19:47:51 +01:00
Daniel Gröber c8da5b8085 Fix line endings in logging output 2015-03-06 14:04:49 +01:00
Daniel Gröber 2151363dd6 Add back `-d` option to `modules` command 2015-03-05 19:38:18 +01:00
Daniel Gröber 01dde80385 Bring test suite up to date 2015-03-05 17:35:28 +01:00
Daniel Gröber f0ea445a9b Cleanup errors and logging a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber bc71877dcf Change the way cabal-helper is built a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber 82bb0090c0 Refactoring to use cabal-helper-wrapper
This turned out to be quite involved but save for this huge commit it's
actually quite awesome and squashes quite a few bugs and nasty
problems (hopefully). Most importantly we now have native cabal
component support without the user having to do anything to get it!

To do this we traverse imports starting from each component's
entrypoints (library modules or Main source file for executables) and
use this information to find which component's options each module will
build with. Under the assumption that these modules have to build with
every component they're used in we can now just pick one.

Quite a few internal assumptions have been invalidated by this
change. Most importantly the runGhcModT* family of cuntions now change
the current working directory to `cradleRootDir`.
2015-03-05 17:35:24 +01:00
Daniel Gröber 7438539ca5 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
Daniel Gröber ef96b926c7 Use cabal-helper to support Cabal >= 1.22 with any version of ghc 2015-02-08 12:43:35 +01:00
Daniel Gröber 844bdea3db Move `symbolCache` to PathsAndFiles 2015-02-08 12:43:35 +01:00
Daniel Gröber 1c5a1c8b3e Add util function for finding libexec binaries 2015-02-08 12:43:35 +01:00
Daniel Gröber 417cacbf81 Fix finding sandbox in sandbox only projects 2015-02-08 12:43:35 +01:00
Daniel Gröber 2b4fd77c28 Add GHC-7.10 support 2015-02-08 12:43:35 +01:00
Daniel Gröber 45d6b7d67a Guess right sandbox pkg-db path on ghc version mismatch
If cabal.sandbox.config contains a "package-db:" declaration with the
wrong path and only the ghc version is wrong, for example:

```
package-db: <DIR>/.cabal-sandbox/x86_64-linux-ghc-7.8.3-packages.conf.d
```

Even though the user is using 7.10.0.20141222 `cabal repl` will correct
this and pass

```
-package-db <DIR>/.cabal-sandbox/x86_64-linux-ghc-7.10.0.20141222-packages.conf.d
```

to ghci, so obviously Cabal/cabal-install is doing some magic.

Conflicts:
	Language/Haskell/GhcMod/PathsAndFiles.hs
2015-02-08 12:43:25 +01:00
Daniel Gröber ce61f38f4d Remove a bunch of dead code 2015-01-03 00:36:12 +01:00
klapaucius fc7ce47e93 fix for varid bug in showExports & processExports 2014-12-24 22:17:36 +01:00
Dimitri 'phaazon' Sabadie f023f4fc06 Fixed #422. 2014-12-24 22:12:36 +01:00
Daniel Gröber 782f234981 Fix ghc-mod tempdirs not being removed on exit 2014-12-24 21:34:57 +01:00
Daniel Gröber 80e826a199 Prefix ghc-mod tmpdirs with "ghc-mod" 2014-12-24 21:34:39 +01:00
Daniel Gröber 9a8a3651d0 Fix `findCabalFile` 2014-11-03 00:45:27 +01:00
Daniel Gröber 506cf18885 Don't use fromJust 2014-11-03 00:33:23 +01:00