@@ -72,7 +72,7 @@ getEnv =
72 do maybeRoot <- Task.io $ Stuff.findRoot
72 do maybeRoot <- Task.io $ Stuff.findRoot
73 cache <- Task.io $ Stuff.getPackageCache
73 cache <- Task.io $ Stuff.getPackageCache
74 manager <- Task.io $ Http.getManager
74 manager <- Task.io $ Http.getManager
75− registry <- Task.eio Exit.DiffBadRegistry $ Registry.latest manager cache
75+ registry <- Task.eio Exit.DiffMustHaveLatestRegistry $ Registry.latest manager cache
76 return (Env maybeRoot cache manager registry)
76 return (Env maybeRoot cache manager registry)
@@ -104,13 +104,15 @@ diff env@(Env _ _ _ registry) args =
104 writeDiff oldDocs newDocs
104 writeDiff oldDocs newDocs
106 CodeVsLatest ->
106 CodeVsLatest ->
107− do (newDocs, name, vsns) <- generateDocs env
107+ do (name, vsns) <- readOutline env
108 oldDocs <- getLatestDocs env name vsns
108 oldDocs <- getLatestDocs env name vsns
109+ newDocs <- generateDocs env
109 writeDiff oldDocs newDocs
110 writeDiff oldDocs newDocs
111 CodeVsExactly version ->
112 CodeVsExactly version ->
112− do (newDocs, name, vsns) <- generateDocs env
113+ do (name, vsns) <- readOutline env
113 oldDocs <- getDocs env name vsns version
114 oldDocs <- getDocs env name vsns version
115+ newDocs <- generateDocs env
114 writeDiff oldDocs newDocs
116 writeDiff oldDocs newDocs
@@ -161,8 +163,8 @@ readOutline (Env maybeRoot _ _ registry) =
161-- GENERATE DOCS
163-- GENERATE DOCS
164−generateDocs :: Env -> Task (Docs.Documentation, Pkg.Name, Registry.KnownVersions)
166+generateDocs :: Env -> Task Docs.Documentation
165−generateDocs (Env maybeRoot _ _ registry) =
167+generateDocs (Env maybeRoot _ _ _) =
166 case maybeRoot of
168 case maybeRoot of
167 Nothing ->
169 Nothing ->
168 Task.throw $ Exit.DiffNoOutline
170 Task.throw $ Exit.DiffNoOutline
@@ -177,20 +179,13 @@ generateDocs (Env maybeRoot _ _ registry) =
177 Task.throw $ Exit.DiffApplication
179 Task.throw $ Exit.DiffApplication
179 Details.ValidPkg pkg exposed ->
181 Details.ValidPkg pkg exposed ->
180− case Registry.getVersions pkg registry of
182− case exposed of
182+ case exposed of
184− Task.throw Exit.DiffNoExposed
184+ Task.throw $ Exit.DiffNoExposed pkg
188− Task.eio Exit.DiffBadBuild $
187+ Task.eio Exit.DiffBadBuild $
189− Build.fromExposed Reporting.silent root details Build.KeepDocs (NE.List e es)
188+ Build.fromExposed Reporting.silent root details Build.KeepDocs (NE.List e es)
190− return ( docs, pkg, vsns )
193− Task.throw Exit.DiffUnpublished