content: -- | Isolate backwards incompatible library changes to 'getModificationTime'
  -- and provide lifted versions of some directory operations
  module GF.System.Directory(module GF.System.Directory,module D) where
  import Control.Monad.Trans(MonadIO(..))
  import qualified System.Directory as D
  import System.Directory as D
         hiding (canonicalizePath,createDirectoryIfMissing,
                 doesDirectoryExist,doesFileExist,getModificationTime,
                 getCurrentDirectory,getDirectoryContents,getPermissions,
                 removeFile,renameFile)
  import Data.Time.Compat
  
  canonicalizePath path = liftIO $ D.canonicalizePath path
  createDirectoryIfMissing b = liftIO . D.createDirectoryIfMissing b
  doesDirectoryExist path = liftIO $ D.doesDirectoryExist path
  doesFileExist path = liftIO $ D.doesFileExist path
  getModificationTime path = liftIO $ fmap toUTCTime (D.getModificationTime path)
  getDirectoryContents path = liftIO $ D.getDirectoryContents path
  
  getCurrentDirectory :: MonadIO io => io FilePath
  getCurrentDirectory = liftIO D.getCurrentDirectory
  getPermissions path = liftIO $ D.getPermissions path
  
  removeFile path = liftIO $ D.removeFile path
  renameFile path = liftIO . D.renameFile path
  