@@ -15,7 +15,7 @@ module Elm.Details
1515
1616import Control.Concurrent (forkIO)
1717import Control.Concurrent.MVar (MVar, newEmptyMVar, newMVar, putMVar, readMVar, takeMVar)
18−import Control.Monad (liftM, liftM2, liftM4)
18+import Control.Monad (liftM, liftM2, liftM3, liftM4)
1919import Data.Binary (Binary, get, put, getWord8, putWord8)
2020import qualified Data.Either as Either
2121import qualified Data.Map as Map
@@ -73,7 +73,7 @@ data Details =
7373
7474data ValidOutline
7575 = 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 -})
7777
7878
7979data Local =
@@ -212,7 +212,8 @@ verifyPkg env time (Outline.PkgOutline pkg _ _ _ exposed direct testDirect elm)
212212 then
213213 do solution <- verifyConstraints env =<< union noDups direct testDirect
214214 let exposedList = Outline.flattenExposed exposed
215− verifyDependencies env time (ValidPkg pkg exposedList) solution direct
215+ let exactDeps = Map.map (\(Solver.Details v _) -> v) solution -- for pkg docs in reactor
216+ verifyDependencies env time (ValidPkg pkg exposedList exactDeps) solution direct
216217 else
217218 Task.throw $ Exit.DetailsBadElmInPkg elm
218219
@@ -768,14 +769,14 @@ instance Binary Details where
768769instance Binary ValidOutline where
769770 put outline =
770771 case outline of
771− ValidApp a -> putWord8 0 >> put a
772− ValidPkg a b -> putWord8 1 >> put a >> put b
772+ ValidApp a -> putWord8 0 >> put a
773+ ValidPkg a b c -> putWord8 1 >> put a >> put b >> put c
773774
774775 get =
775776 do n <- getWord8
776777 case n of
777778 0 -> liftM ValidApp get
778− 1 -> liftM2 ValidPkg get get
779+ 1 -> liftM3 ValidPkg get get get
779780 _ -> error "binary encoding of ValidOutline was corrupted"
780781
781782