[scaffold] refactor uses of CPP into pure Haskell
This commit is contained in:
parent
8d0f429c62
commit
687961cd22
@ -10,13 +10,8 @@ import Yesod.Auth
|
||||
import Yesod.Default.Config
|
||||
import Yesod.Default.Main
|
||||
import Yesod.Default.Handlers
|
||||
#if DEVELOPMENT
|
||||
import Yesod.Logger (Logger, logBS)
|
||||
import Network.Wai.Middleware.RequestLogger (logCallbackDev)
|
||||
#else
|
||||
import Yesod.Logger (Logger, logBS, toProduction)
|
||||
import Network.Wai.Middleware.RequestLogger (logCallback)
|
||||
#endif
|
||||
import Network.Wai.Middleware.RequestLogger (logCallback, logCallbackDev)
|
||||
import qualified Database.Persist.Store~importMigration~
|
||||
import Network.HTTP.Conduit (newManager, def)
|
||||
|
||||
@ -38,13 +33,8 @@ makeApplication conf logger = do
|
||||
app <- toWaiAppPlain foundation
|
||||
return $ logWare app
|
||||
where
|
||||
#ifdef DEVELOPMENT
|
||||
logWare = logCallbackDev (logBS setLogger)
|
||||
setLogger = logger
|
||||
#else
|
||||
setLogger = toProduction logger -- by default the logger is set for development
|
||||
logWare = logCallback (logBS setLogger)
|
||||
#endif
|
||||
logWare = dev logCallbackDev logCallback (logBS setLogger)
|
||||
setLogger = dev id toProduction logger
|
||||
|
||||
makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO ~sitearg~
|
||||
makeFoundation conf setLogger = do
|
||||
|
||||
@ -18,6 +18,7 @@ import Data.Monoid (Monoid (mappend, mempty, mconcat))
|
||||
import Control.Applicative ((<$>), (<*>), pure)
|
||||
import Data.Text (Text)
|
||||
import Settings.StaticFiles
|
||||
import Settings.Development
|
||||
|
||||
#if __GLASGOW_HASKELL__ < 704
|
||||
infixr 5 <>
|
||||
|
||||
@ -21,6 +21,7 @@ import qualified Yesod.Default.Util
|
||||
import Data.Text (Text)
|
||||
import Data.Yaml
|
||||
import Control.Applicative
|
||||
import Settings.Development
|
||||
|
||||
-- | Which Persistent backend this site is using.
|
||||
type PersistConfig = ~configPersist~
|
||||
@ -53,11 +54,8 @@ staticRoot conf = [st|#{appRoot conf}/static|]
|
||||
-- user.
|
||||
|
||||
widgetFile :: String -> Q Exp
|
||||
#if DEVELOPMENT
|
||||
widgetFile = Yesod.Default.Util.widgetFileReload
|
||||
#else
|
||||
widgetFile = Yesod.Default.Util.widgetFileNoReload
|
||||
#endif
|
||||
widgetFile = dev Yesod.Default.Util.widgetFileReload
|
||||
Yesod.Default.Util.widgetFileNoReload
|
||||
|
||||
data Extra = Extra
|
||||
{ extraCopyright :: Text
|
||||
|
||||
12
yesod/scaffold/Settings/Development.hs.cg
Normal file
12
yesod/scaffold/Settings/Development.hs.cg
Normal file
@ -0,0 +1,12 @@
|
||||
module Settings.Development where
|
||||
|
||||
development :: Bool
|
||||
development =
|
||||
#if DEVELOPMENT
|
||||
True
|
||||
#else
|
||||
False
|
||||
#endif
|
||||
|
||||
dev :: a -> a -> a
|
||||
dev a b = if development then a else b
|
||||
@ -4,15 +4,11 @@ import Prelude (IO)
|
||||
import Yesod.Static
|
||||
import qualified Yesod.Static as Static
|
||||
import Settings (staticDir)
|
||||
import Settings.Development
|
||||
|
||||
-- | use this to create your static file serving site
|
||||
staticSite :: IO Static.Static
|
||||
staticSite =
|
||||
#ifdef DEVELOPMENT
|
||||
Static.staticDevel staticDir
|
||||
#else
|
||||
Static.static staticDir
|
||||
#endif
|
||||
staticSite = dev Static.staticDevel Static.static staticDir
|
||||
|
||||
-- | This generates easy references to files in the static directory at compile time,
|
||||
-- giving you compile-time verification that referenced files exist.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user