@@ -15,7 +15,7 @@ module Elm.Details
16import Control.Concurrent (forkIO)
16import Control.Concurrent (forkIO)
17import Control.Concurrent.MVar (MVar, newEmptyMVar, newMVar, putMVar, readMVar, takeMVar)
17import Control.Concurrent.MVar (MVar, newEmptyMVar, newMVar, putMVar, readMVar, takeMVar)
18−import Control.Monad (liftM, liftM2, liftM4)
18+import Control.Monad (liftM, liftM2, liftM3, liftM4)
19import Data.Binary (Binary, get, put, getWord8, putWord8)
19import Data.Binary (Binary, get, put, getWord8, putWord8)
20import qualified Data.Either as Either
20import qualified Data.Either as Either
21import qualified Data.Map as Map
21import qualified Data.Map as Map
@@ -73,7 +73,7 @@ data Details =
74data ValidOutline
74data ValidOutline
75 = ValidApp (NE.List FilePath)
75 = ValidApp (NE.List FilePath)
76− | ValidPkg Pkg.Name [ModuleName.Raw]
76+ | ValidPkg Pkg.Name [ModuleName.Raw] (Map.Map Pkg.Name V.Version {- for docs in reactor -})
79data Local =
79data Local =
@@ -212,7 +212,8 @@ verifyPkg env time (Outline.PkgOutline pkg _ _ _ exposed direct testDirect elm)
213 do solution <- verifyConstraints env =<< union noDups direct testDirect
213 do solution <- verifyConstraints env =<< union noDups direct testDirect
214 let exposedList = Outline.flattenExposed exposed
214 let exposedList = Outline.flattenExposed exposed
215+ let exactDeps = Map.map (\(Solver.Details v _) -> v) solution -- for pkg docs in reactor
215− verifyDependencies env time (ValidPkg pkg exposedList) solution direct
216+ verifyDependencies env time (ValidPkg pkg exposedList exactDeps) solution direct
217 Task.throw $ Exit.DetailsBadElmInPkg elm
218 Task.throw $ Exit.DetailsBadElmInPkg elm
@@ -768,14 +769,14 @@ instance Binary Details where
768instance Binary ValidOutline where
769instance Binary ValidOutline where
769 put outline =
770 put outline =
770 case outline of
771 case outline of
771− ValidApp a -> putWord8 0 >> put a
772+ ValidApp a -> putWord8 0 >> put a
772− ValidPkg a b -> putWord8 1 >> put a >> put b
773+ ValidPkg a b c -> putWord8 1 >> put a >> put b >> put c
775 do n <- getWord8
776 do n <- getWord8
776 case n of
777 case n of
777 0 -> liftM ValidApp get
778 0 -> liftM ValidApp get
778− 1 -> liftM2 ValidPkg get get
779+ 1 -> liftM3 ValidPkg get get get
779 _ -> error "binary encoding of ValidOutline was corrupted"
780 _ -> error "binary encoding of ValidOutline was corrupted"