keter 1.4.3 → 1.4.3.1
raw patch · 3 files changed
+40/−10 lines, 3 filesdep +system-filepathdep ~fsnotifydep ~processdep ~waiPVP ok
version bump matches the API change (PVP)
Dependencies added: system-filepath
Dependency ranges changed: fsnotify, process, wai
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- Keter/Main.hs +22/−6
- keter.cabal +14/−4
ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.4.3.1++* Add cabal flag `system-filepath` for compatibility with older versions of fsnotify.+ ## 1.4.3 * Update fsnotify dependency version and remove system-filepath.
Keter/Main.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE RecordWildCards #-}@@ -49,6 +50,10 @@ import System.Posix.User (getUserEntryForID, getUserEntryForName, userGroupID, userID, userName)+#ifdef SYSTEM_FILEPATH+import qualified Filesystem.Path as FP (FilePath)+import Filesystem.Path.CurrentOS (encodeString)+#endif keter :: FilePath -- ^ root directory or config file@@ -155,14 +160,14 @@ e' <- case e of FSN.Removed fp _ -> do- log $ WatchedFile "removed" fp- return $ Left fp+ log $ WatchedFile "removed" (fromFilePath fp)+ return $ Left $ fromFilePath fp FSN.Added fp _ -> do- log $ WatchedFile "added" fp- return $ Right fp+ log $ WatchedFile "added" (fromFilePath fp)+ return $ Right $ fromFilePath fp FSN.Modified fp _ -> do- log $ WatchedFile "modified" fp- return $ Right fp+ log $ WatchedFile "modified" (fromFilePath fp)+ return $ Right $ fromFilePath fp case e' of Left fp -> when (isKeter fp) $ AppMan.terminateApp appMan $ getAppname fp Right fp -> when (isKeter fp) $ AppMan.addApp appMan $ incoming </> fp@@ -176,6 +181,17 @@ AppMan.reloadAppList appMan newMap where incoming = getIncoming kc+++-- compatibility with older versions of fsnotify which used+-- 'Filesystem.Path'+#ifdef SYSTEM_FILEPATH+fromFilePath :: FP.FilePath -> String+fromFilePath = encodeString+#else+fromFilePath :: forall a. a -> a+fromFilePath = id+#endif listDirectoryTree :: FilePath -> IO [FilePath] listDirectoryTree fp = do
keter.cabal view
@@ -1,5 +1,5 @@ Name: keter-Version: 1.4.3+Version: 1.4.3.1 Synopsis: Web application deployment manager, focusing on Haskell web frameworks Description: Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/keter>. Homepage: http://www.yesodweb.com/@@ -15,6 +15,10 @@ --Data-Files: incoming/foo/bundle.sh, incoming/foo/config/keter.yaml +flag system-filepath+ description: Use system-filepath+ default: False+ Library Build-depends: base >= 4 && < 5 , directory@@ -34,7 +38,6 @@ , blaze-builder >= 0.3 && < 0.5 , yaml >= 0.8.4 && < 0.9 , unix-compat >= 0.3 && < 0.5- , fsnotify >= 0.2.0.2 , conduit >= 1.1 , conduit-extra >= 1.1 , http-reverse-proxy >= 0.4.2 && < 0.5@@ -58,9 +61,16 @@ , stm >= 2.4 , async , lifted-base+ if impl(ghc < 7.6)- build-depends:- ghc-prim+ build-depends: ghc-prim+ if flag(system-filepath)+ build-depends: fsnotify >= 0.1 && < 0.2+ , system-filepath+ cpp-options: -DSYSTEM_FILEPATH+ else+ build-depends: fsnotify >= 0.2.0.2+ Exposed-Modules: Keter.Plugin.Postgres Keter.Types Keter.Types.V04