Stylish Haskell

This commit is contained in:
Michael Snoyman 2013-01-28 14:48:04 +02:00
parent b41130b7d2
commit 6ba5db21b7
10 changed files with 83 additions and 84 deletions

View File

@ -4,18 +4,18 @@ module Stackage.Build
, BuildSettings (..) , BuildSettings (..)
) where ) where
import Control.Monad (unless) import Control.Monad (unless)
import Prelude hiding (pi) import Prelude hiding (pi)
import Stackage.CheckCabalVersion (checkCabalVersion)
import Stackage.Config import Stackage.Config
import Stackage.InstallInfo import Stackage.InstallInfo
import Stackage.Types import Stackage.Types
import Stackage.Util import Stackage.Util
import System.Exit (ExitCode (ExitSuccess), exitWith) import System.Exit (ExitCode (ExitSuccess), exitWith)
import System.IO (IOMode (WriteMode), hPutStrLn, import System.IO (IOMode (WriteMode), hPutStrLn,
withBinaryFile) withBinaryFile)
import System.Process (rawSystem, runProcess, import System.Process (rawSystem, runProcess,
waitForProcess) waitForProcess)
import Stackage.CheckCabalVersion (checkCabalVersion)
defaultBuildSettings :: BuildSettings defaultBuildSettings :: BuildSettings
defaultBuildSettings = BuildSettings defaultBuildSettings = BuildSettings

View File

@ -1,14 +1,14 @@
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE RecordWildCards #-}
module Stackage.BuildPlan module Stackage.BuildPlan
( readBuildPlan ( readBuildPlan
, writeBuildPlan , writeBuildPlan
) where ) where
import Stackage.Types import qualified Data.Map as Map
import qualified Data.Map as Map import qualified Data.Set as Set
import qualified Data.Set as Set import Distribution.Text (display, simpleParse)
import Distribution.Text (simpleParse, display) import Stackage.Types
readBuildPlan :: FilePath -> IO BuildPlan readBuildPlan :: FilePath -> IO BuildPlan
readBuildPlan fp = do readBuildPlan fp = do

View File

@ -2,17 +2,17 @@ module Stackage.CheckPlan
( checkPlan ( checkPlan
) where ) where
import Control.Monad (unless, when) import Control.Monad (unless, when)
import Data.List (isPrefixOf, sort) import Data.List (isPrefixOf, sort)
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
import Stackage.CheckCabalVersion (checkCabalVersion)
import Stackage.InstallInfo import Stackage.InstallInfo
import Stackage.Types import Stackage.Types
import Stackage.Util import Stackage.Util
import System.Exit (ExitCode (ExitFailure, ExitSuccess), import System.Exit (ExitCode (ExitFailure, ExitSuccess),
exitWith) exitWith)
import System.Process (readProcessWithExitCode) import System.Process (readProcessWithExitCode)
import Stackage.CheckCabalVersion (checkCabalVersion)
data Mismatch = OnlyDryRun String | OnlySimpleList String data Mismatch = OnlyDryRun String | OnlySimpleList String
deriving Show deriving Show

View File

@ -9,7 +9,7 @@ import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
import Data.Version (showVersion) import Data.Version (showVersion)
import qualified Distribution.Text import qualified Distribution.Text
import Distribution.Version (withinRange, simplifyVersionRange) import Distribution.Version (simplifyVersionRange, withinRange)
import Stackage.HaskellPlatform import Stackage.HaskellPlatform
import Stackage.LoadDatabase import Stackage.LoadDatabase
import Stackage.NarrowDatabase import Stackage.NarrowDatabase

View File

@ -1,12 +1,12 @@
module Stackage.NarrowDatabase where module Stackage.NarrowDatabase where
import Control.Monad.Trans.Writer import Control.Monad.Trans.Writer
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
import Prelude hiding (pi) import Prelude hiding (pi)
import Stackage.Types import Stackage.Types
import Stackage.Util import Stackage.Util
import System.Exit (exitFailure) import System.Exit (exitFailure)
-- | Narrow down the database to only the specified packages and all of -- | Narrow down the database to only the specified packages and all of
-- their dependencies. -- their dependencies.

View File

@ -3,9 +3,9 @@ module Stackage.Select
, defaultSelectSettings , defaultSelectSettings
) where ) where
import Data.Either (partitionEithers)
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Maybe (mapMaybe) import Data.Maybe (mapMaybe)
import Data.Either (partitionEithers)
import Data.Set (empty) import Data.Set (empty)
import qualified Data.Set as Set import qualified Data.Set as Set
import Prelude hiding (pi) import Prelude hiding (pi)

View File

@ -5,8 +5,8 @@ module Stackage.Test
) where ) where
import qualified Control.Concurrent as C import qualified Control.Concurrent as C
import Control.Exception (Exception, handle, throwIO, SomeException) import Control.Exception (Exception, SomeException, handle, throwIO)
import Control.Monad (unless, when, replicateM) import Control.Monad (replicateM, unless, when)
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
import Data.Typeable (Typeable) import Data.Typeable (Typeable)

View File

@ -3,16 +3,16 @@ module Stackage.Types
, module Stackage.Types , module Stackage.Types
) where ) where
import Data.Map as X (Map) import Data.Map as X (Map)
import Data.Map (unionWith) import Data.Map (unionWith)
import Data.Monoid (Monoid (..)) import Data.Monoid (Monoid (..))
import Data.Set as X (Set) import Data.Set as X (Set)
import Data.Version as X (Version) import Data.Version as X (Version)
import Distribution.Package as X (PackageIdentifier (..), import Distribution.Package as X (PackageIdentifier (..),
PackageName (..)) PackageName (..))
import Distribution.Version as X (VersionRange (..)) import Distribution.PackageDescription (GenericPackageDescription)
import Distribution.Version (intersectVersionRanges) import Distribution.Version as X (VersionRange (..))
import Distribution.PackageDescription (GenericPackageDescription) import Distribution.Version (intersectVersionRanges)
newtype PackageDB = PackageDB (Map PackageName PackageInfo) newtype PackageDB = PackageDB (Map PackageName PackageInfo)
deriving (Show, Eq) deriving (Show, Eq)
@ -70,17 +70,17 @@ data InstallInfo = InstallInfo
} }
data SelectedPackageInfo = SelectedPackageInfo data SelectedPackageInfo = SelectedPackageInfo
{ spiVersion :: Version { spiVersion :: Version
, spiMaintainer :: Maintainer , spiMaintainer :: Maintainer
, spiGithubUser :: Maybe String , spiGithubUser :: Maybe String
, spiHasTests :: Bool , spiHasTests :: Bool
} }
deriving (Show, Read) deriving (Show, Read)
data BuildPlan = BuildPlan data BuildPlan = BuildPlan
{ bpTools :: [String] { bpTools :: [String]
, bpPackages :: Map PackageName SelectedPackageInfo , bpPackages :: Map PackageName SelectedPackageInfo
, bpCore :: Set PackageName , bpCore :: Set PackageName
, bpOptionalCore :: Map PackageName Version , bpOptionalCore :: Map PackageName Version
-- ^ See 'iiOptionalCore' -- ^ See 'iiOptionalCore'
} }
@ -111,10 +111,10 @@ data SelectSettings = SelectSettings
} }
data BuildSettings = BuildSettings data BuildSettings = BuildSettings
{ sandboxRoot :: FilePath { sandboxRoot :: FilePath
, extraArgs :: [String] , extraArgs :: [String]
, expectedFailuresBuild :: Set PackageName , expectedFailuresBuild :: Set PackageName
, testWorkerThreads :: Int , testWorkerThreads :: Int
-- ^ How many threads to spawn for running test suites. -- ^ How many threads to spawn for running test suites.
} }

View File

@ -1,27 +1,26 @@
{-# LANGUAGE CPP #-} {-# LANGUAGE CPP #-}
module Stackage.Util where module Stackage.Util where
import qualified Codec.Archive.Tar as Tar import qualified Codec.Archive.Tar as Tar
import qualified Codec.Archive.Tar.Entry as TarEntry import qualified Codec.Archive.Tar.Entry as TarEntry
import Control.Monad (guard, when) import Control.Monad (guard, when)
import Data.List (stripPrefix) import Data.List (stripPrefix)
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
import Data.Version (showVersion) import Data.Version (showVersion)
import Distribution.Text (simpleParse, display) import Distribution.License (License (..))
import Distribution.Version (thisVersion) import qualified Distribution.Package as P
import Stackage.Types
import System.Directory (doesDirectoryExist,
removeDirectoryRecursive)
import System.Directory (getAppUserDataDirectory)
import System.Environment (getEnvironment)
import System.FilePath ((</>))
import qualified Distribution.Package as P
import qualified Distribution.PackageDescription as PD import qualified Distribution.PackageDescription as PD
import Distribution.License (License (..)) import Distribution.Text (display, simpleParse)
import System.Directory (canonicalizePath, import Distribution.Version (thisVersion)
createDirectoryIfMissing import Stackage.Types
) import System.Directory (doesDirectoryExist,
removeDirectoryRecursive)
import System.Directory (getAppUserDataDirectory)
import System.Directory (canonicalizePath,
createDirectoryIfMissing)
import System.Environment (getEnvironment)
import System.FilePath ((</>))
-- | Allow only packages with permissive licenses. -- | Allow only packages with permissive licenses.
allowPermissive :: [String] -- ^ list of explicitly allowed packages allowPermissive :: [String] -- ^ list of explicitly allowed packages

View File

@ -1,23 +1,23 @@
{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE RecordWildCards #-}
import Stackage.Types
import Stackage.Build (build, defaultBuildSettings)
import Stackage.Init (stackageInit)
import Stackage.Util (allowPermissive)
import Stackage.Select (defaultSelectSettings, select)
import Stackage.CheckPlan (checkPlan)
import System.Environment (getArgs, getProgName)
import Data.Set (fromList) import Data.Set (fromList)
import Stackage.Build (build, defaultBuildSettings)
import Stackage.BuildPlan (readBuildPlan, writeBuildPlan)
import Stackage.CheckPlan (checkPlan)
import Stackage.Init (stackageInit)
import Stackage.Select (defaultSelectSettings, select)
import Stackage.Tarballs (makeTarballs)
import Stackage.Test (runTestSuites)
import Stackage.Types
import Stackage.Util (allowPermissive)
import System.Environment (getArgs, getProgName)
import System.IO (hFlush, stdout) import System.IO (hFlush, stdout)
import Stackage.BuildPlan (readBuildPlan, writeBuildPlan)
import Stackage.Test (runTestSuites)
import Stackage.Tarballs (makeTarballs)
data SelectArgs = SelectArgs data SelectArgs = SelectArgs
{ excluded :: [String] { excluded :: [String]
, noPlatform :: Bool , noPlatform :: Bool
, onlyPermissive :: Bool , onlyPermissive :: Bool
, allowed :: [String] , allowed :: [String]
, buildPlanDest :: FilePath , buildPlanDest :: FilePath
} }
parseSelectArgs :: [String] -> IO SelectArgs parseSelectArgs :: [String] -> IO SelectArgs
@ -39,9 +39,9 @@ parseSelectArgs =
loop _ (y:_) = error $ "Did not understand argument: " ++ y loop _ (y:_) = error $ "Did not understand argument: " ++ y
data BuildArgs = BuildArgs data BuildArgs = BuildArgs
{ sandbox :: String { sandbox :: String
, buildPlanSrc :: FilePath , buildPlanSrc :: FilePath
, extraArgs' :: [String] -> [String] , extraArgs' :: [String] -> [String]
} }
parseBuildArgs :: [String] -> IO BuildArgs parseBuildArgs :: [String] -> IO BuildArgs