Commit Graph

27 Commits

Author SHA1 Message Date
Daniel Gröber f0ea445a9b Cleanup errors and logging 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 1c5a1c8b3e Add util function for finding libexec binaries 2015-02-08 12:43:35 +01:00
Daniel Gröber 80e826a199 Prefix ghc-mod tmpdirs with "ghc-mod" 2014-12-24 21:34:39 +01:00
Daniel Gröber 0cdbcb247b Fix warning 2014-11-02 19:27:57 +01:00
Daniel Gröber 2af3383fad Really fix `newTempDir` on Windows 2014-11-02 19:02:05 +01:00
Daniel Gröber 37af8e368d Refactoring World, etc. and fix #387 2014-11-02 01:19:27 +01:00
Kazu Yamamoto 33d6f38a20 removing a warning. 2014-10-06 15:55:16 +09:00
Kazu Yamamoto ef371a7ebf fixing tests. 2014-10-06 15:29:05 +09:00
Daniel Gröber ab7059d5e4 Merge remote-tracking branch 'upstream/no-set'
Conflicts:
	Language/Haskell/GhcMod/Find.hs
2014-10-03 21:39:20 +02:00
Daniel Gröber 5a4bec8755 Rewrite `ghc-mod` command line frontend. 2014-09-18 10:45:14 +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
Kazu Yamamoto a483f4f8b6 error messages are stored after NG, not printed in stderr. 2014-08-19 14:56:01 +09:00
Daniel Gröber 147dd90ee7 Remove dedicated exception handling in `check` completely
Exceptions are already caught at the top level so this is unnecessary.
2014-08-19 04:49:44 +02:00
Daniel Gröber 1b5917c70e Remove `withErrorHandler`, use `liftExceptions` instead 2014-08-19 04:30:44 +02:00
Daniel Gröber 271ff4e162 Catch `cabal configure` failure properly 2014-08-18 08:06:36 +02:00
Daniel Gröber e61aaed023 Make `readProcess'`more generic 2014-07-17 15:52:33 +02:00
Kazu Yamamoto cffa7463eb adopting hlint's suggestions. 2014-07-17 17:16:44 +09:00
Daniel Gröber 0c859294a3 Parse cabal `setup-config` to get depencencies 2014-05-03 15:36:10 +02:00
Daniel Gröber 19b56738c6 Add `withDirectory_` to Utils 2014-05-03 15:36:10 +02:00
Daniel Gröber aec46dbd51 Factor out `readProcess'` 2014-05-03 15:36:10 +02:00
Kazu Yamamoto b3fd99fa7d using Builder. 2014-04-22 11:28:27 +09:00
Kazu Yamamoto 3d03cff06b refactoring for lineSeparator. 2014-04-21 14:58:25 +09:00
Kazu Yamamoto 3c8fea85fb dropWhileEnd moves to Utils. 2014-04-19 15:20:16 +09:00
Kazu Yamamoto 82b6519935 removing suppress stuff. 2014-04-19 15:17:36 +09:00
Kazu Yamamoto aecb9bc1e4 implementing suppressStdout/err. 2014-04-18 15:41:32 +09:00