on master help sign in
add solution to Details for packages
a537ed8Evan Czaplicki
builder/src/Build.hs+1−1
@@ -78,7 +78,7 @@ makeEnv key root (Details.Details _ validOutline locals foreigns _) =
78 Details.ValidApp srcDirs ->
78 Details.ValidApp srcDirs ->
79 Env key root Pkg.dummyName (NE.toList srcDirs) locals foreigns
79 Env key root Pkg.dummyName (NE.toList srcDirs) locals foreigns
80
80
81− Details.ValidPkg pkg _ ->
81+ Details.ValidPkg pkg _ _ ->
82 Env key root pkg ["src"] locals foreigns
82 Env key root pkg ["src"] locals foreigns
83
83
84
84
builder/src/Elm/Details.hs+7−6
@@ -15,7 +15,7 @@ module Elm.Details
15
15
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 =
73
73
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 -})
77
77
78
78
79data Local =
79data Local =
@@ -212,7 +212,8 @@ verifyPkg env time (Outline.PkgOutline pkg _ _ _ exposed direct testDirect elm)
212 then
212 then
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
216 else
217 else
217 Task.throw $ Exit.DetailsBadElmInPkg elm
218 Task.throw $ Exit.DetailsBadElmInPkg elm
218
219
@@ -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
773
774
774 get =
775 get =
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"
780
781
781
782
terminal/src/Diff.hs+1−1
@@ -178,7 +178,7 @@ generateDocs (Env maybeRoot _ _ _) =
178 Details.ValidApp _ ->
178 Details.ValidApp _ ->
179 Task.throw $ Exit.DiffApplication
179 Task.throw $ Exit.DiffApplication
180
180
181− Details.ValidPkg _ exposed ->
181+ Details.ValidPkg _ exposed _ ->
182 case exposed of
182 case exposed of
183 [] ->
183 [] ->
184 Task.throw $ Exit.DiffNoExposed
184 Task.throw $ Exit.DiffNoExposed
terminal/src/Make.hs+1−1
@@ -141,7 +141,7 @@ getExposed (Details.Details _ validOutline _ _ _) =
141 Details.ValidApp _ ->
141 Details.ValidApp _ ->
142 Task.throw Exit.MakeAppNeedsFileNames
142 Task.throw Exit.MakeAppNeedsFileNames
143
143
144− Details.ValidPkg _ exposed ->
144+ Details.ValidPkg _ exposed _ ->
145 case exposed of
145 case exposed of
146 [] -> Task.throw Exit.MakePkgNeedsExposing
146 [] -> Task.throw Exit.MakePkgNeedsExposing
147 m:ms -> return (NE.List m ms)
147 m:ms -> return (NE.List m ms)
terminal/src/Publish.hs+6−6
@@ -177,9 +177,9 @@ verifyBuild root =
177
177
178 exposed <-
178 exposed <-
179 case outline of
179 case outline of
180− Details.ValidApp _ -> Task.throw Exit.PublishApplication
180+ Details.ValidApp _ -> Task.throw Exit.PublishApplication
181− Details.ValidPkg _ [] -> Task.throw Exit.PublishNoExposed
181+ Details.ValidPkg _ [] _ -> Task.throw Exit.PublishNoExposed
182− Details.ValidPkg _ (e:es) -> return (NE.List e es)
182+ Details.ValidPkg _ (e:es) _ -> return (NE.List e es)
183
183
184 Task.eio Exit.PublishBuildProblem $
184 Task.eio Exit.PublishBuildProblem $
185 Build.fromExposed Reporting.silent root details Build.KeepDocs exposed
185 Build.fromExposed Reporting.silent root details Build.KeepDocs exposed
@@ -300,9 +300,9 @@ verifyZipBuild root =
300
300
301 exposed <-
301 exposed <-
302 case outline of
302 case outline of
303− Details.ValidApp _ -> Task.throw Exit.PublishZipApplication
303+ Details.ValidApp _ -> Task.throw Exit.PublishZipApplication
304− Details.ValidPkg _ [] -> Task.throw Exit.PublishZipNoExposed
304+ Details.ValidPkg _ [] _ -> Task.throw Exit.PublishZipNoExposed
305− Details.ValidPkg _ (e:es) -> return (NE.List e es)
305+ Details.ValidPkg _ (e:es) _ -> return (NE.List e es)
306
306
307 _ <- Task.eio Exit.PublishZipBuildProblem $
307 _ <- Task.eio Exit.PublishZipBuildProblem $
308 Build.fromExposed Reporting.silent root details Build.KeepDocs exposed
308 Build.fromExposed Reporting.silent root details Build.KeepDocs exposed