@@ -260,11 +260,16 @@ verifyZip (Env root _ manager _ _) pkg vsn =
261 reportZipBuildCheck $
261 reportZipBuildCheck $
262 Dir.withCurrentDirectory prepublishDir $
262 Dir.withCurrentDirectory prepublishDir $
263− error "TODO Build.generateDocs"
263+ verifyZipBuild prepublishDir
265 return sha
265 return sha
268+toZipUrl :: Pkg.Name -> V.Version -> String
270+ "https://github.com/" ++ Pkg.toUrl pkg ++ "/zipball/" ++ V.toChars vsn ++ "/"
268withTempDir :: FilePath -> (FilePath -> Task.Task x a) -> Task.Task x a
273withTempDir :: FilePath -> (FilePath -> Task.Task x a) -> Task.Task x a
269withTempDir root callback =
274withTempDir root callback =
@@ -277,9 +282,23 @@ withTempDir root callback =
277 (Task.run (callback dir))
282 (Task.run (callback dir))
280−toZipUrl :: Pkg.Name -> V.Version -> String
285+verifyZipBuild :: FilePath -> IO (Either Exit.Publish ())
281−toZipUrl pkg vsn =
286+verifyZipBuild root =
282− "https://github.com/" ++ Pkg.toUrl pkg ++ "/zipball/" ++ V.toChars vsn ++ "/"
287+ Task.run $
288+ do details@(Details.Details _ outline _ _ _) <-
289+ Task.eio Exit.PublishZipBadDetails $
290+ Details.load Reporting.silent root
294+ Details.ValidApp _ -> Task.throw Exit.PublishZipApplication
295+ Details.ValidPkg _ [] -> Task.throw Exit.PublishZipNoExposed
296+ Details.ValidPkg _ (e:es) -> return (NE.List e es)
298+ _ <- Task.eio Exit.PublishZipBuildProblem $
299+ Build.fromExposed Reporting.silent root details Build.KeepDocs exposed