Load all mapped targets

This commit is contained in:
Nikolay Yakimov
2015-06-16 11:28:46 +03:00
parent e70988e15f
commit f8a0325617
2 changed files with 12 additions and 3 deletions

View File

@@ -53,6 +53,8 @@ import Data.Map (Map)
import qualified Data.Map as Map
import Data.Set (Set)
import qualified Data.Set as Set
import Data.List (nubBy)
import Data.Function (on)
import Distribution.Helper
import Prelude hiding ((.))
@@ -163,12 +165,15 @@ runGmlTWith efnmns' mdf wrapper action = do
initSession opts' $
setModeSimple >>> setEmptyLogger >>> mdf
mappedStrs <- getMMappedFilePaths
let targetStrs = mappedStrs ++ map moduleNameString mns ++ cfns
unGmlT $ wrapper $ do
targets <-
withLightHscEnv opts $ \env ->
mapM (`guessTarget` Nothing) (map moduleNameString mns ++ cfns)
>>= mapM (mapFile env)
>>= mapM relativize
liftM (nubBy ((==) `on` targetId))
(mapM ((`guessTarget` Nothing) >=> mapFile env) targetStrs)
>>= mapM relativize
loadTargets targets
action
where