Cleanup project type handling

This commit is contained in:
Daniel Gröber
2015-08-12 09:25:13 +02:00
parent a94d8977a9
commit 28f06e035d
7 changed files with 33 additions and 36 deletions

View File

@@ -61,14 +61,14 @@ ghcDbOpt (PackageDb pkgDb)
getPackageCachePaths :: IOish m => FilePath -> GhcModT m [FilePath]
getPackageCachePaths sysPkgCfg = do
crdl <- cradle
pkgDbStack <- if isJust $ cradleCabalFile crdl
then do
getPackageDbStack
else do
mdb <- liftIO $ getSandboxDb $ cradleRootDir crdl
return $ case mdb of
Just db -> [db]
Nothing -> [GlobalDb, UserDb]
pkgDbStack <- case cradleProjectType crdl of
PlainProject ->
return [GlobalDb, UserDb]
SandboxProject -> do
Just db <- liftIO $ getSandboxDb $ cradleRootDir crdl
return $ [GlobalDb, db]
CabalProject ->
getPackageDbStack
catMaybes <$> (liftIO . resolvePackageConfig sysPkgCfg) `mapM` pkgDbStack