[commit: ghc] wip/nfs-locking: Add docs, minor revision (b85602d)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 01:24:06 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/b85602dc64ccb927839a2368b9636e2bd91cd232/ghc

>---------------------------------------------------------------

commit b85602dc64ccb927839a2368b9636e2bd91cd232
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Wed Aug 16 23:15:34 2017 +0100

    Add docs, minor revision


>---------------------------------------------------------------

b85602dc64ccb927839a2368b9636e2bd91cd232
 src/Hadrian/Haskell/Cabal.hs | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/Hadrian/Haskell/Cabal.hs b/src/Hadrian/Haskell/Cabal.hs
index b8f874c..d579de6 100644
--- a/src/Hadrian/Haskell/Cabal.hs
+++ b/src/Hadrian/Haskell/Cabal.hs
@@ -1,3 +1,14 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module     : Hadrian.Haskell.Cabal
+-- Copyright  : (c) Andrey Mokhov 2014-2017
+-- License    : MIT (see the file LICENSE)
+-- Maintainer : andrey.mokhov at gmail.com
+-- Stability  : experimental
+--
+-- Basic functionality for extracting Haskell package metadata stored in
+-- @.cabal@ files.
+-----------------------------------------------------------------------------
 module Hadrian.Haskell.Cabal (readCabal, cabalNameVersion, cabalDependencies) where
 
 import Development.Shake
@@ -8,28 +19,28 @@ import Distribution.Text
 import Distribution.Types.CondTree
 import Distribution.Verbosity
 
--- TODO: Track the values?
-
--- | Read a given @.cabal@ file and return the 'GenericPackageDescription'.
+-- | Read a given @.cabal@ file and return the 'GenericPackageDescription'. The
+-- @.cabal@ file is tracked.
 readCabal :: FilePath -> Action GenericPackageDescription
 readCabal cabal = do
     need [cabal]
     liftIO $ readGenericPackageDescription silent cabal
 
--- | Read a given @.cabal@ file and return the package name and version.
+-- | Read a given @.cabal@ file and return the package name and version. The
+-- @.cabal@ file is tracked.
 cabalNameVersion :: FilePath -> Action (String, String)
 cabalNameVersion cabal = do
     identifier <- package . packageDescription <$> readCabal cabal
     return (unPackageName $ pkgName identifier, display $ pkgVersion identifier)
 
--- | Read a given @.cabal@ file and return the package dependencies.
+-- | Read a given @.cabal@ file and return the package dependencies. The
+-- @.cabal@ file is tracked.
 cabalDependencies :: FilePath -> Action [String]
 cabalDependencies cabal = do
     gpd <- readCabal cabal
-    let depsLib  = collectDeps $ condLibrary gpd
-        depsExes = map (collectDeps . Just . snd) $ condExecutables gpd
-        deps     = concat $ depsLib : depsExes
-    return $ [ unPackageName name | Dependency name _ <- deps ]
+    let libDeps = collectDeps (condLibrary gpd)
+        exeDeps = map (collectDeps . Just . snd) (condExecutables gpd)
+    return [ unPackageName p | Dependency p _ <- concat (libDeps : exeDeps) ]
 
 collectDeps :: Maybe (CondTree v [Dependency] a) -> [Dependency]
 collectDeps Nothing = []



More information about the ghc-commits mailing list