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
2b4fd77c28
Add GHC-7.10 support
2015-02-08 12:43:35 +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
506cf18885
Don't use fromJust
2014-11-03 00:33:23 +01:00
Daniel Gröber
14ee81e300
Allow GhcModError as an Exception and catch it in GhcModT's liftIO
2014-10-31 22:23:48 +01:00
Daniel Gröber
9ac128aa6f
Fix #387 , Pattern match failure in GhcPkg
2014-10-30 01:10:56 +01:00
Kazu Yamamoto
bc65c477d0
fixing typo.
2014-09-22 11:20:11 +09:00
Rob Everest
2c2e7782d2
Use the cabal configuration flags where possible when finalizing the PackageDescription.
2014-09-12 13:15:05 +10:00
Daniel Gröber
274b5d8e1c
Rephrase some docs
2014-08-29 17:21:38 +02:00
Daniel Gröber
a0ae09a3e6
Give readProcess' more sensible error messages.
...
Also a bunch of refactoring for GhcModError
2014-08-28 15:57:49 +02:00
Daniel Gröber
1b5917c70e
Remove withErrorHandler
, use liftExceptions
instead
2014-08-19 04:30:44 +02:00
Kazu Yamamoto
0fd8b9afd8
first try to resolve #322 .
2014-08-18 16:55:41 +09:00
Daniel Gröber
271ff4e162
Catch cabal configure
failure properly
2014-08-18 08:06:36 +02:00
Daniel Gröber
f5d051dcef
Remove toGhcModT
it's not needed anymore.
2014-08-15 20:35:21 +02:00
Kazu Yamamoto
d5733874e0
using <$>
2014-08-14 11:14:46 +09:00
Kazu Yamamoto
2875275fc0
hlint suggestions.
2014-08-14 11:11:02 +09:00
Daniel Gröber
ec1b115cc1
In check
, apply ghcUserOptions after setting -Wall
2014-08-13 19:28:08 +02:00
Daniel Gröber
c1c7dcec20
Rename ghcOpts
-> ghcUserOptions
2014-08-13 19:28:08 +02:00
Daniel Gröber
0fa870efa6
Fix ghc<=7.6
2014-08-12 18:54:48 +02:00
Daniel Gröber
edeb57a6a4
note
2014-08-12 18:24:39 +02:00
Daniel Gröber
fa65d7269e
Add a test for gmsGet/Put
2014-08-12 18:24:39 +02:00
Daniel Gröber
87c587993a
Make parseCabalFile
use MonadError
2014-08-12 18:24:39 +02:00
Daniel Gröber
e345c92edb
Make GhcModT's MonadState instance pass through
...
..to the underlying monad
2014-08-12 18:23:50 +02:00
Daniel Gröber
c0652c0321
Move GhcModError to Types.hs
2014-08-12 18:23:50 +02:00
Daniel Gröber
bd28310e59
Don't fall back to sandbox if cabal file failes to parse
2014-08-12 00:02:39 +02:00
Daniel Gröber
fad99f466f
Export GhcModError(..)
2014-08-06 20:40:11 +02:00
Daniel Gröber
cb28e9ec8f
Fix warning
2014-08-06 19:38:42 +02:00
Daniel Gröber
f311efd90c
Rework GhcModT monad stack
2014-08-06 19:38:42 +02:00
Daniel Gröber
0736516512
Document exposed parts of GhcMod.Monad
2014-07-21 00:27:12 +02:00
Kazu Yamamoto
30ddd655cd
export minimum Monad stuff from GhcMod.
2014-07-18 15:31:42 +09:00
Kazu Yamamoto
6d42354a5b
setMode and getMode
2014-07-18 14:55:21 +09:00
Kazu Yamamoto
7b079896b1
doc sectioning.
2014-07-18 14:55:08 +09:00
Kazu Yamamoto
233f4cf05e
moving setFlags to Gap.
2014-07-18 11:09:11 +09:00
Kazu Yamamoto
0ce70ae22d
set Opt_SpecConstr just in case.
2014-07-18 10:52:57 +09:00
Kazu Yamamoto
cffa7463eb
adopting hlint's suggestions.
2014-07-17 17:16:44 +09:00
Kazu Yamamoto
cf0df26560
Monad.hs is now exported by GhcMod.hs.
2014-07-17 14:30:42 +09:00
Kazu Yamamoto
49284a64be
Uses HscNothing and falls back to HscInterpreted if necessary ( #205 )
...
Two Test case are fails but it is not fatal.
2014-07-15 17:20:35 +09:00
Kazu Yamamoto
c87ea45488
adding #if to Monad.hs.
2014-07-15 14:45:41 +09:00
Kazu Yamamoto
a7a02a3f4c
Bringing back MaybeT
...
This brings back a warning to be fixed.
2014-07-15 12:49:12 +09:00
Kazu Yamamoto
1524d2a43e
removing warnings.
2014-07-15 12:10:18 +09:00
Daniel Gröber
686179f12b
Fix building with ghc < 7.8
2014-07-15 02:34:07 +02:00
Daniel Gröber
7474a1b652
Bring back GhcMod
but this time it's a GhcModT with an ErrorT inside
2014-07-15 01:04:06 +02:00
Daniel Gröber
f0bfcb8811
Use GhcModT everywhere and remove the GhcMod alias
...
Not doing this makes having GhcModT pretty pointless as users of the
library wouldn't be able to use custom inner monads as evey function for
dealing with GhcModT's would be constraint to (GhcModT IO) thus only
allowing IO as the inner monad.
2014-07-15 01:03:56 +02:00
Daniel Gröber
b6896a481a
Move initializeFlagsWithCradle
to Monad.hs
2014-07-12 03:33:04 +02:00
Daniel Gröber
d818a64f6f
whitespace
2014-07-11 04:51:27 +02:00
Daniel Gröber
320b2243a2
Make GhcMod a special case of GhcModT
...
i.e. turn GhcMod into a monad transformer
2014-07-11 04:51:11 +02:00
Daniel Gröber
4b6a687bc1
Migrate the remaining parts of the exposed API to GhcMod a
2014-07-11 03:13:38 +02:00