git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix #1152, support globs in file paths
commit49da725a3465fe4924220774a7fbdb516351dcf9 authorPhil Freeman <paf31@cantab.net> dateTue 9 Jun 2015, 15:41 (11 years ago) parent13ad776
3 files changed+10−4
psc-make/Main.hs+4−1 psc/Main.hs+4−1 purescript.cabal+2−2
psc-make/Main.hs+4−1
@@ -31,6 +31,7 @@ import Options.Applicative as Opts
3131
3232import System.Exit (exitSuccess, exitFailure)
3333import System.IO (hPutStrLn, stderr)
34+import System.FilePath.Glob (glob)
3435
3536import qualified Language.PureScript as P
3637import qualified Paths_purescript as Paths
@@ -50,8 +51,10 @@ data InputOptions = InputOptions
5051 }
5152
5253compile :: PSCMakeOptions -> IO ()
53−compile (PSCMakeOptions input inputForeign outputDir opts usePrefix) = do
54+compile (PSCMakeOptions inputGlob inputForeignGlob outputDir opts usePrefix) = do
55+ input <- concat <$> mapM glob inputGlob
5456 moduleFiles <- readInput (InputOptions input)
57+ inputForeign <- concat <$> mapM glob inputForeignGlob
5558 foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
5659 case runWriterT (parseInputs moduleFiles foreignFiles) of
5760 Left errs -> do
psc/Main.hs+4−1
@@ -34,6 +34,7 @@ import Options.Applicative as Opts
3434import System.Directory (createDirectoryIfMissing)
3535import System.Exit (exitSuccess, exitFailure)
3636import System.FilePath (takeDirectory)
37+import System.FilePath.Glob (glob)
3738import System.IO (hPutStrLn, stderr)
3839
3940import qualified Data.Map as M
@@ -66,9 +67,11 @@ runPSC :: P.Options P.Compile -> PSC a -> Either P.MultipleErrors (a, P.Multiple
6667runPSC opts rwe = runWriterT (runReaderT rwe opts)
6768
6869compile :: PSCOptions -> IO ()
69−compile (PSCOptions input inputForeign opts stdin output externs usePrefix) = do
70+compile (PSCOptions inputGlob inputForeignGlob opts stdin output externs usePrefix) = do
7071 let prefix = ["Generated by psc version " ++ showVersion Paths.version | usePrefix]
72+ input <- concat <$> mapM glob inputGlob
7173 moduleFiles <- readInput (InputOptions stdin input)
74+ inputForeign <- concat <$> mapM glob inputForeignGlob
7275 foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
7376 case runWriterT (parseInputs moduleFiles foreignFiles) of
7477 Left errs -> do
purescript.cabal+2−2
@@ -147,7 +147,7 @@ library
147147executable psc
148148 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
149149 mtl -any, optparse-applicative >= 0.10.0, parsec -any, purescript -any,
150− transformers -any
150+ transformers -any, Glob >= 0.7 && < 0.8
151151 main-is: Main.hs
152152 buildable: True
153153 hs-source-dirs: psc
@@ -157,7 +157,7 @@ executable psc
157157executable psc-make
158158 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
159159 mtl -any, optparse-applicative >= 0.10.0, parsec -any, purescript -any,
160− time -any, transformers -any, transformers-compat -any
160+ time -any, transformers -any, transformers-compat -any, Glob >= 0.7 && < 0.8
161161 main-is: Main.hs
162162 buildable: True
163163 hs-source-dirs: psc-make