yesod-bin 1.4.0.8 → 1.4.0.9
raw patch · 3 files changed
+23/−13 lines, 3 files
Files
- ChangeLog.md +2/−0
- Devel.hs +20/−12
- yesod-bin.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,5 @@+__1.4.0.9__ Allow devel.hs to be located in app/ or src/ subdirectories.+ __1.4.0.8__ Updated postgres-fay scaffolding for yesod-fay 0.7.0 __1.4.0.7__ Fix a bug in `yesod devel` when cabal config has `tests: True` #864
Devel.hs view
@@ -188,7 +188,7 @@ unlessM (checkPort $ develPort opts) $ error "devel port unavailable" iappPort <- getPort opts 17834 >>= I.newIORef when (useReverseProxy opts) $ void $ forkIO $ reverseProxy opts iappPort- checkDevelFile+ develHsPath <- checkDevelFile writeLock opts let (terminator, after) = case terminateWith opts of@@ -203,7 +203,7 @@ filesModified <- newEmptyMVar void $ forkIO $ void $ watchTree manager "." (const True) (\_ -> void (tryPutMVar filesModified ()))- evalStateT (mainOuterLoop iappPort filesModified) Map.empty+ evalStateT (mainOuterLoop develHsPath iappPort filesModified) Map.empty after writeLock opts exitSuccess@@ -211,7 +211,7 @@ bd = getBuildDir opts -- outer loop re-reads the cabal file- mainOuterLoop iappPort filesModified = do+ mainOuterLoop develHsPath iappPort filesModified = do ghcVer <- liftIO ghcVersion cabal <- liftIO $ D.findPackageDesc "." gpd <- liftIO $ D.readPackageDescription D.normal cabal@@ -227,20 +227,20 @@ , "yesod-devel/ldargs.txt" ] rebuild <- liftIO $ mkRebuild ghcVer cabal opts ldar- mainInnerLoop iappPort hsSourceDirs filesModified cabal rebuild+ mainInnerLoop develHsPath iappPort hsSourceDirs filesModified cabal rebuild else do liftIO (threadDelay 5000000)- mainOuterLoop iappPort filesModified+ mainOuterLoop develHsPath iappPort filesModified -- inner loop rebuilds after files change- mainInnerLoop iappPort hsSourceDirs filesModified cabal rebuild = go+ mainInnerLoop develHsPath iappPort hsSourceDirs filesModified cabal rebuild = go where go = do _ <- recompDeps hsSourceDirs list <- liftIO $ getFileList hsSourceDirs [cabal] success <- liftIO rebuild pkgArgs <- liftIO (ghcPackageArgs opts)- let devArgs = pkgArgs ++ ["devel.hs"]+ let devArgs = pkgArgs ++ [develHsPath] let loop list0 = do (haskellFileChanged, list1) <- liftIO $ watchForChanges filesModified hsSourceDirs [cabal] list0 (eventTimeout opts)@@ -282,7 +282,7 @@ liftIO $ Ex.throwTo watchTid (userError "process finished") loop list n <- liftIO $ cabal `isNewerThan` (bd </> "setup-config")- if n then mainOuterLoop iappPort filesModified else go+ if n then mainOuterLoop develHsPath iappPort filesModified else go runBuildHook :: Maybe String -> IO () runBuildHook (Just s) = do@@ -381,10 +381,18 @@ isHaskell filename _ = takeExtension filename `elem` [".hs", ".lhs", ".hsc", ".cabal"] -checkDevelFile :: IO ()-checkDevelFile = do- e <- doesFileExist "devel.hs"- unless e $ failWith "file devel.hs not found"+checkDevelFile :: IO FilePath+checkDevelFile =+ loop paths+ where+ paths = ["app/devel.hs", "devel.hs", "src/devel.hs"]++ loop [] = failWith $ "file devel.hs not found, checked: " ++ show paths+ loop (x:xs) = do+ e <- doesFileExist x+ if e+ then return x+ else loop xs checkCabalFile :: D.GenericPackageDescription -> IO ([FilePath], D.Library) checkCabalFile gpd = case D.condLibrary gpd of
yesod-bin.cabal view
@@ -1,5 +1,5 @@ name: yesod-bin-version: 1.4.0.8+version: 1.4.0.9 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>