Drop system-filepath
This commit is contained in:
parent
4fcabc073c
commit
ae555aa6f0
@ -1,3 +1,7 @@
|
|||||||
|
## 1.4.8
|
||||||
|
|
||||||
|
* Drop system-filepath
|
||||||
|
|
||||||
## 1.4.7.2
|
## 1.4.7.2
|
||||||
|
|
||||||
* Scaffolding updates, including fix for [#982](https://github.com/yesodweb/yesod/issues/982)
|
* Scaffolding updates, including fix for [#982](https://github.com/yesodweb/yesod/issues/982)
|
||||||
|
|||||||
@ -4,40 +4,19 @@ module HsFile (mkHsFile) where
|
|||||||
import Text.ProjectTemplate (createTemplate)
|
import Text.ProjectTemplate (createTemplate)
|
||||||
import Data.Conduit
|
import Data.Conduit
|
||||||
( ($$), (=$), ConduitM, awaitForever, yield, Source )
|
( ($$), (=$), ConduitM, awaitForever, yield, Source )
|
||||||
|
import Data.Conduit.Filesystem (sourceDirectory)
|
||||||
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
|
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
|
||||||
import qualified Data.Conduit.List as CL
|
import qualified Data.Conduit.List as CL
|
||||||
#if __GLASGOW_HASKELL__ >= 710
|
|
||||||
import Prelude hiding (FilePath, traverse)
|
|
||||||
#else
|
|
||||||
import Prelude hiding (FilePath)
|
|
||||||
#endif
|
|
||||||
import Filesystem.Path ( FilePath )
|
|
||||||
import Filesystem.Path.CurrentOS ( encodeString )
|
|
||||||
import qualified Filesystem as F
|
|
||||||
import qualified Data.ByteString as BS
|
import qualified Data.ByteString as BS
|
||||||
import Control.Monad.IO.Class (liftIO)
|
import Control.Monad.IO.Class (liftIO)
|
||||||
|
|
||||||
traverse :: FilePath -> Source (ResourceT IO) FilePath
|
|
||||||
traverse dir = do
|
|
||||||
liftIO (F.listDirectory dir) >>= mapM_ go
|
|
||||||
where
|
|
||||||
go fp = do
|
|
||||||
isFile' <- liftIO $ F.isFile fp
|
|
||||||
if isFile'
|
|
||||||
then yield fp
|
|
||||||
else do
|
|
||||||
isDir <- liftIO $ F.isDirectory fp
|
|
||||||
if isDir
|
|
||||||
then traverse fp
|
|
||||||
else return ()
|
|
||||||
|
|
||||||
mkHsFile :: IO ()
|
mkHsFile :: IO ()
|
||||||
mkHsFile = runResourceT $ traverse "."
|
mkHsFile = runResourceT $ sourceDirectory "."
|
||||||
$$ readIt
|
$$ readIt
|
||||||
=$ createTemplate
|
=$ createTemplate
|
||||||
=$ awaitForever (liftIO . BS.putStr)
|
=$ awaitForever (liftIO . BS.putStr)
|
||||||
|
|
||||||
-- Reads a filepath from upstream and dumps a pair of (filepath, filecontents)
|
-- Reads a filepath from upstream and dumps a pair of (filepath, filecontents)
|
||||||
readIt :: ConduitM FilePath (FilePath, ResourceT IO BS.ByteString) (ResourceT IO) ()
|
readIt :: ConduitM FilePath (FilePath, ResourceT IO BS.ByteString) (ResourceT IO) ()
|
||||||
readIt = CL.map $ \i -> (i, liftIO $ BS.readFile $ encodeString i)
|
readIt = CL.map $ \i -> (i, liftIO $ BS.readFile i)
|
||||||
|
|
||||||
|
|||||||
@ -11,8 +11,8 @@ import System.Process
|
|||||||
import Control.Monad
|
import Control.Monad
|
||||||
import System.Directory hiding (findFiles)
|
import System.Directory hiding (findFiles)
|
||||||
import Data.Maybe (mapMaybe)
|
import Data.Maybe (mapMaybe)
|
||||||
import qualified Filesystem.Path.CurrentOS as F
|
import System.Directory (removeDirectoryRecursive)
|
||||||
import qualified Filesystem as F
|
import System.FilePath ((</>))
|
||||||
import qualified Codec.Archive.Tar as Tar
|
import qualified Codec.Archive.Tar as Tar
|
||||||
import Control.Exception
|
import Control.Exception
|
||||||
import qualified Data.ByteString.Lazy as L
|
import qualified Data.ByteString.Lazy as L
|
||||||
@ -60,7 +60,7 @@ keter cabal noBuild noCopyTo = do
|
|||||||
go ("exec", String s) = tellFile s
|
go ("exec", String s) = tellFile s
|
||||||
go ("extraFiles", Array a) = Fold.mapM_ tellExtra a
|
go ("extraFiles", Array a) = Fold.mapM_ tellExtra a
|
||||||
go (_, v') = findFiles v'
|
go (_, v') = findFiles v'
|
||||||
tellFile s = tell [F.collapse $ "config" F.</> F.fromText s]
|
tellFile s = tell ["config" </> T.unpack s]
|
||||||
tellExtra (String s) = tellFile s
|
tellExtra (String s) = tellFile s
|
||||||
tellExtra _ = error "extraFiles should be a flat array"
|
tellExtra _ = error "extraFiles should be a flat array"
|
||||||
findFiles (Array v) = Fold.mapM_ findFiles v
|
findFiles (Array v) = Fold.mapM_ findFiles v
|
||||||
@ -72,10 +72,10 @@ keter cabal noBuild noCopyTo = do
|
|||||||
run cabal ["configure"]
|
run cabal ["configure"]
|
||||||
run cabal ["build"]
|
run cabal ["build"]
|
||||||
|
|
||||||
_ <- try' $ F.removeTree "static/tmp"
|
_ <- try' $ removeDirectoryRecursive "static/tmp"
|
||||||
|
|
||||||
archive <- Tar.pack "" $
|
archive <- Tar.pack "" $
|
||||||
"config" : "static" : map F.encodeString bundleFiles
|
"config" : "static" : bundleFiles
|
||||||
let fp = T.unpack project ++ ".keter"
|
let fp = T.unpack project ++ ".keter"
|
||||||
L.writeFile fp $ compress $ Tar.write archive
|
L.writeFile fp $ compress $ Tar.write archive
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: yesod-bin
|
name: yesod-bin
|
||||||
version: 1.4.7.2
|
version: 1.4.8
|
||||||
license: MIT
|
license: MIT
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Michael Snoyman <michael@snoyman.com>
|
author: Michael Snoyman <michael@snoyman.com>
|
||||||
@ -63,8 +63,6 @@ executable yesod
|
|||||||
, process
|
, process
|
||||||
, zlib >= 0.5
|
, zlib >= 0.5
|
||||||
, tar >= 0.4 && < 0.5
|
, tar >= 0.4 && < 0.5
|
||||||
, system-filepath >= 0.4 && < 0.5
|
|
||||||
, system-fileio >= 0.3 && < 0.4
|
|
||||||
, unordered-containers
|
, unordered-containers
|
||||||
, yaml >= 0.8 && < 0.9
|
, yaml >= 0.8 && < 0.9
|
||||||
, optparse-applicative >= 0.11
|
, optparse-applicative >= 0.11
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user