Clean up.
authorAndrey Mokhov <andrey.mokhov@gmail.com>
Tue, 22 Dec 2015 05:07:32 +0000 (05:07 +0000)
committerAndrey Mokhov <andrey.mokhov@gmail.com>
Tue, 22 Dec 2015 05:07:32 +0000 (05:07 +0000)
src/Rules/Library.hs
src/Settings.hs

index 134e2be..ff5ce63 100644 (file)
@@ -49,7 +49,7 @@ buildPackageLibrary _ target @ (PartialTarget stage pkg) = do
         putSuccess $ renderBox
             [ "Successfully built package library '"
               ++ pkgName pkg
-              ++ "' (stage " ++ show stage ++ ", way "++ show way ++ ")."
+              ++ "' (" ++ show stage ++ ", way "++ show way ++ ")."
             , "Package synopsis: " ++ dropWhileEnd isPunctuation synopsis ++ "."
             ]
 
index fd7c14c..9a0e07d 100644 (file)
@@ -53,26 +53,25 @@ getPackageSources = do
     return $ foundSources ++ fixGhcPrim generatedSources
 
 -- findModuleFiles scans a list of given directories and finds files matching a
--- given extension pattern (e.g., "*hs") that correspond to modules of the
--- currently built package. Missing module files are returned in a separate
--- list. The returned pair contains the following:
+-- given pattern (e.g., "*hs") that correspond to modules of the currently built
+-- package. Missing module files are returned in a separate list. The returned
+-- pair contains the following:
 -- * a list of found module files, with paths being relative to one of given
 --   directories, e.g. "codeGen/CodeGen/Platform.hs" for the compiler package.
 -- * a list of module files that have not been found, with paths being relative
 --   to the module directory, e.g. "CodeGen/Platform", and with no extension.
 findModuleFiles :: [FilePath] -> FilePattern -> Expr ([FilePath], [FilePath])
-findModuleFiles dirs extension = do
+findModuleFiles dirs pattern = do
     modules <- getPkgDataList Modules
     let decodedMods    = sort . map decodeModule $ modules
         modDirFiles    = map (bimap head sort . unzip)
                        . groupBy ((==) `on` fst) $ decodedMods
-        matchExtension = (?==) ("*" <.> extension)
 
     result <- lift . fmap concat . forM dirs $ \dir -> do
         todo <- filterM (doesDirectoryExist . (dir -/-) . fst) modDirFiles
         forM todo $ \(mDir, mFiles) -> do
             let fullDir = dir -/- mDir
-            files <- fmap (filter matchExtension) $ getDirectoryContents fullDir
+            files <- getDirectoryFiles fullDir [pattern]
             let cmp fe f = compare (dropExtension fe) f
                 found    = intersectOrd cmp files mFiles
             return (map (fullDir -/-) found, (mDir, map dropExtension found))