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 (..)
) where
import Control.Monad (unless)
import Prelude hiding (pi)
import Control.Monad (unless)
import Prelude hiding (pi)
import Stackage.CheckCabalVersion (checkCabalVersion)
import Stackage.Config
import Stackage.InstallInfo
import Stackage.Types
import Stackage.Util
import System.Exit (ExitCode (ExitSuccess), exitWith)
import System.IO (IOMode (WriteMode), hPutStrLn,
withBinaryFile)
import System.Process (rawSystem, runProcess,
waitForProcess)
import Stackage.CheckCabalVersion (checkCabalVersion)
import System.Exit (ExitCode (ExitSuccess), exitWith)
import System.IO (IOMode (WriteMode), hPutStrLn,
withBinaryFile)
import System.Process (rawSystem, runProcess,
waitForProcess)
defaultBuildSettings :: BuildSettings
defaultBuildSettings = BuildSettings

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,27 +1,26 @@
{-# LANGUAGE CPP #-}
module Stackage.Util where
import qualified Codec.Archive.Tar as Tar
import qualified Codec.Archive.Tar.Entry as TarEntry
import Control.Monad (guard, when)
import Data.List (stripPrefix)
import qualified Data.Map as Map
import qualified Data.Set as Set
import Data.Version (showVersion)
import Distribution.Text (simpleParse, display)
import Distribution.Version (thisVersion)
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 Codec.Archive.Tar as Tar
import qualified Codec.Archive.Tar.Entry as TarEntry
import Control.Monad (guard, when)
import Data.List (stripPrefix)
import qualified Data.Map as Map
import qualified Data.Set as Set
import Data.Version (showVersion)
import Distribution.License (License (..))
import qualified Distribution.Package as P
import qualified Distribution.PackageDescription as PD
import Distribution.License (License (..))
import System.Directory (canonicalizePath,
createDirectoryIfMissing
)
import Distribution.Text (display, simpleParse)
import Distribution.Version (thisVersion)
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.
allowPermissive :: [String] -- ^ list of explicitly allowed packages

View File

@ -1,23 +1,23 @@
{-# 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 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 Stackage.BuildPlan (readBuildPlan, writeBuildPlan)
import Stackage.Test (runTestSuites)
import Stackage.Tarballs (makeTarballs)
data SelectArgs = SelectArgs
{ excluded :: [String]
, noPlatform :: Bool
{ excluded :: [String]
, noPlatform :: Bool
, onlyPermissive :: Bool
, allowed :: [String]
, buildPlanDest :: FilePath
, allowed :: [String]
, buildPlanDest :: FilePath
}
parseSelectArgs :: [String] -> IO SelectArgs
@ -39,9 +39,9 @@ parseSelectArgs =
loop _ (y:_) = error $ "Did not understand argument: " ++ y
data BuildArgs = BuildArgs
{ sandbox :: String
{ sandbox :: String
, buildPlanSrc :: FilePath
, extraArgs' :: [String] -> [String]
, extraArgs' :: [String] -> [String]
}
parseBuildArgs :: [String] -> IO BuildArgs