devel.hs is a normal scaffolded file
This commit is contained in:
parent
d0f9bc471e
commit
3c44df1ccf
@ -81,9 +81,6 @@ devel isDevel = do
|
|||||||
, "--disable-library-profiling"
|
, "--disable-library-profiling"
|
||||||
]
|
]
|
||||||
|
|
||||||
exists <- doesFileExist "dist/devel.hs"
|
|
||||||
unless exists $ T.writeFile "dist/devel.hs" (develFile pid)
|
|
||||||
|
|
||||||
mainLoop isDevel
|
mainLoop isDevel
|
||||||
|
|
||||||
_ <- getLine
|
_ <- getLine
|
||||||
@ -106,7 +103,7 @@ mainLoop isDevel = forever $ do
|
|||||||
removeLock
|
removeLock
|
||||||
putStrLn "Starting development server..."
|
putStrLn "Starting development server..."
|
||||||
pkg <- pkgConfigs isDevel
|
pkg <- pkgConfigs isDevel
|
||||||
ph <- runCommand $ concat ["runghc ", pkg, " dist/devel.hs"]
|
ph <- runCommand $ concat ["runghc ", pkg, " devel.hs"]
|
||||||
watchTid <- forkIO . try_ $ do
|
watchTid <- forkIO . try_ $ do
|
||||||
watchForChanges list
|
watchForChanges list
|
||||||
putStrLn "Stopping development server..."
|
putStrLn "Stopping development server..."
|
||||||
@ -156,37 +153,6 @@ watchForChanges list = do
|
|||||||
showPkgName :: D.PackageId -> String
|
showPkgName :: D.PackageId -> String
|
||||||
showPkgName = (\(D.PackageName n) -> n) . D.pkgName
|
showPkgName = (\(D.PackageName n) -> n) . D.pkgName
|
||||||
|
|
||||||
develFile :: D.PackageId -> T.Text
|
|
||||||
develFile pid = [ST|
|
|
||||||
{-# LANGUAGE PackageImports #-}
|
|
||||||
import "#{showPkgName pid}" Application (getApplicationDev)
|
|
||||||
import Network.Wai.Handler.Warp
|
|
||||||
(runSettings, defaultSettings, settingsPort, settingsHost)
|
|
||||||
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 defaultSettings
|
|
||||||
{ settingsPort = port
|
|
||||||
, settingsHost = "0.0.0.0"
|
|
||||||
} app
|
|
||||||
loop
|
|
||||||
|
|
||||||
loop :: IO ()
|
|
||||||
loop = do
|
|
||||||
threadDelay 100000
|
|
||||||
e <- doesFileExist "dist/devel-terminate"
|
|
||||||
if e then terminateDevel else loop
|
|
||||||
|
|
||||||
terminateDevel :: IO ()
|
|
||||||
terminateDevel = exitSuccess
|
|
||||||
|]
|
|
||||||
|
|
||||||
checkCabalFile :: D.GenericPackageDescription -> IO ()
|
checkCabalFile :: D.GenericPackageDescription -> IO ()
|
||||||
checkCabalFile gpd = case D.condLibrary gpd of
|
checkCabalFile gpd = case D.condLibrary gpd of
|
||||||
Nothing -> do
|
Nothing -> do
|
||||||
|
|||||||
@ -156,6 +156,7 @@ scaffold = do
|
|||||||
|
|
||||||
writeFile' ("config/settings.yml") $(codegen "config/settings.yml")
|
writeFile' ("config/settings.yml") $(codegen "config/settings.yml")
|
||||||
writeFile' ("main.hs") $(codegen "main.hs")
|
writeFile' ("main.hs") $(codegen "main.hs")
|
||||||
|
writeFile' ("devel.hs") $(codegen "devel.hs")
|
||||||
writeFile' (project ++ ".cabal") $ ifTiny $(codegen "tiny/project.cabal") $(codegen "project.cabal")
|
writeFile' (project ++ ".cabal") $ ifTiny $(codegen "tiny/project.cabal") $(codegen "project.cabal")
|
||||||
writeFile' ".ghci" $(codegen ".ghci")
|
writeFile' ".ghci" $(codegen ".ghci")
|
||||||
writeFile' "LICENSE" $(codegen "LICENSE")
|
writeFile' "LICENSE" $(codegen "LICENSE")
|
||||||
|
|||||||
27
yesod/scaffold/devel.hs.cg
Normal file
27
yesod/scaffold/devel.hs.cg
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{-# LANGUAGE PackageImports #-}
|
||||||
|
import "~project~" Application (getApplicationDev)
|
||||||
|
import Network.Wai.Handler.Warp
|
||||||
|
(runSettings, defaultSettings, settingsPort, settingsHost)
|
||||||
|
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 defaultSettings
|
||||||
|
{ settingsPort = port
|
||||||
|
, settingsHost = "0.0.0.0"
|
||||||
|
} app
|
||||||
|
loop
|
||||||
|
|
||||||
|
loop :: IO ()
|
||||||
|
loop = do
|
||||||
|
threadDelay 100000
|
||||||
|
e <- doesFileExist "dist/devel-terminate"
|
||||||
|
if e then terminateDevel else loop
|
||||||
|
|
||||||
|
terminateDevel :: IO ()
|
||||||
|
terminateDevel = exitSuccess
|
||||||
@ -44,6 +44,7 @@ extra-source-files:
|
|||||||
scaffold/templates/default-layout-wrapper.hamlet.cg
|
scaffold/templates/default-layout-wrapper.hamlet.cg
|
||||||
scaffold/deploy/Procfile.cg
|
scaffold/deploy/Procfile.cg
|
||||||
scaffold/main.hs.cg
|
scaffold/main.hs.cg
|
||||||
|
scaffold/devel.hs.cg
|
||||||
scaffold/Handler/Root.hs.cg
|
scaffold/Handler/Root.hs.cg
|
||||||
scaffold/config/models.cg
|
scaffold/config/models.cg
|
||||||
scaffold/config/sqlite.yml.cg
|
scaffold/config/sqlite.yml.cg
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user