25 lines
678 B
Haskell
25 lines
678 B
Haskell
|
{-# LANGUAGE PackageImports #-}
|
||
|
import "eidolon" Application (getApplicationDev)
|
||
|
import Network.Wai.Handler.Warp
|
||
|
(runSettings, defaultSettings, setPort)
|
||
|
import Control.Concurrent (forkIO)
|
||
|
import System.Directory (doesFileExist, removeFile)
|
||
|
import System.Exit (exitSuccess)
|
||
|
import Control.Concurrent (threadDelay)
|
||
|
|
||
|
main :: IO ()
|
||
|
main = do
|
||
|
putStrLn "Starting devel application"
|
||
|
(port, app) <- getApplicationDev
|
||
|
forkIO $ runSettings (setPort port defaultSettings) app
|
||
|
loop
|
||
|
|
||
|
loop :: IO ()
|
||
|
loop = do
|
||
|
threadDelay 100000
|
||
|
e <- doesFileExist "yesod-devel/devel-terminate"
|
||
|
if e then terminateDevel else loop
|
||
|
|
||
|
terminateDevel :: IO ()
|
||
|
terminateDevel = exitSuccess
|