@@ -52,12 +52,12 @@ data InputOptions = InputOptions
53compile :: PSCMakeOptions -> IO ()
53compile :: PSCMakeOptions -> IO ()
54compile (PSCMakeOptions inputGlob inputForeignGlob outputDir opts usePrefix) = do
54compile (PSCMakeOptions inputGlob inputForeignGlob outputDir opts usePrefix) = do
55− input <- concat <$> mapM glob inputGlob
55+ input <- globWarningOnMisses warnFileTypeNotFound inputGlob
56 when (null input) $ do
56 when (null input) $ do
57 hPutStrLn stderr "psc: No input files."
57 hPutStrLn stderr "psc: No input files."
58 exitFailure
58 exitFailure
59 moduleFiles <- readInput (InputOptions input)
59 moduleFiles <- readInput (InputOptions input)
60− inputForeign <- concat <$> mapM glob inputForeignGlob
60+ inputForeign <- globWarningOnMisses warnFileTypeNotFound inputForeignGlob
61 foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
61 foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
62 case runWriterT (parseInputs moduleFiles foreignFiles) of
62 case runWriterT (parseInputs moduleFiles foreignFiles) of
63 Left errs -> do
63 Left errs -> do
@@ -78,6 +78,18 @@ compile (PSCMakeOptions inputGlob inputForeignGlob outputDir opts usePrefix) = d
78 hPutStrLn stderr (P.prettyPrintMultipleWarnings (P.optionsVerboseErrors opts) warnings')
78 hPutStrLn stderr (P.prettyPrintMultipleWarnings (P.optionsVerboseErrors opts) warnings')
79 exitSuccess
79 exitSuccess
81+warnFileTypeNotFound :: String -> IO ()
82+warnFileTypeNotFound = hPutStrLn stderr . ((++) "psc: No files found using pattern: ")
84+globWarningOnMisses :: (String -> IO ()) -> [FilePath] -> IO [FilePath]
85+globWarningOnMisses warn = concatMapM globWithWarning
87+ globWithWarning pattern = do
88+ paths <- glob pattern
89+ when (null paths) $ warn pattern
91+ concatMapM f = liftM concat . mapM f
81readInput :: InputOptions -> IO [(Either P.RebuildPolicy FilePath, String)]
93readInput :: InputOptions -> IO [(Either P.RebuildPolicy FilePath, String)]
82readInput InputOptions{..} = forM ioInputFiles $ \inFile -> (Right inFile, ) <$> readFile inFile
94readInput InputOptions{..} = forM ioInputFiles $ \inFile -> (Right inFile, ) <$> readFile inFile