From 431e3fa904b32288d8922529fe1febbf1fa697c7 Mon Sep 17 00:00:00 2001 From: Kazu Yamamoto Date: Fri, 1 Mar 2013 12:21:42 +0900 Subject: [PATCH] Making cabalDependPackages pure. --- Cabal.hs | 2 +- CabalApi.hs | 4 ++-- test/CabalApiSpec.hs | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Cabal.hs b/Cabal.hs index cdc3650..fe2a33f 100644 --- a/Cabal.hs +++ b/Cabal.hs @@ -47,7 +47,7 @@ fromCabal ghcOptions = do idirs = case hsSourceDirs of [] -> [cdir,owdir] dirs -> map (cdir ) dirs ++ [owdir] - depPkgs <- removeMe cfile <$> cabalDependPackages cabal + let depPkgs = removeMe cfile $ cabalDependPackages cabal return (gopts,idirs,depPkgs) removeMe :: FilePath -> [String] -> [String] diff --git a/CabalApi.hs b/CabalApi.hs index 494941a..9875bc5 100644 --- a/CabalApi.hs +++ b/CabalApi.hs @@ -48,8 +48,8 @@ allDependsOfDescription pd = getDependencyPackageName :: Dependency -> String getDependencyPackageName (Dependency (PackageName n) _) = n -cabalDependPackages :: GenericPackageDescription -> IO [String] +cabalDependPackages :: GenericPackageDescription -> [String] cabalDependPackages = - return . toList . fromList + toList . fromList . map getDependencyPackageName . allDependsOfDescription diff --git a/test/CabalApiSpec.hs b/test/CabalApiSpec.hs index d51f868..affb56c 100644 --- a/test/CabalApiSpec.hs +++ b/test/CabalApiSpec.hs @@ -1,5 +1,6 @@ module CabalApiSpec where +import Control.Applicative import Test.Hspec import CabalApi @@ -7,7 +8,7 @@ spec :: Spec spec = do describe "cabalDependPackages" $ do it "extracts dependent packages" $ do - pkgs <- cabalParseFile "test/data/cabalapi.cabal" >>= cabalDependPackages + pkgs <- cabalDependPackages <$> cabalParseFile "test/data/cabalapi.cabal" pkgs `shouldBe` ["Cabal","base","containers","convertible","directory","filepath","ghc","ghc-paths","ghc-syb-utils","hlint","hspec","io-choice","old-time","process","regex-posix","syb","time","transformers"] describe "cabalBuildInfo" $ do