mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-23 12:41:58 +01:00
Stylish Haskell
This commit is contained in:
parent
594c88e0a8
commit
ddd44dbb0e
@ -4,24 +4,28 @@ module Stackage.Build
|
|||||||
, BuildSettings (..)
|
, BuildSettings (..)
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Distribution.Text (simpleParse)
|
import Control.Exception (assert)
|
||||||
import Control.Monad (unless, when)
|
import Control.Monad (unless, when)
|
||||||
import Stackage.Types
|
import qualified Data.Map as Map
|
||||||
|
import Data.Set (empty)
|
||||||
|
import qualified Data.Set as Set
|
||||||
|
import Distribution.Text (simpleParse)
|
||||||
|
import Distribution.Version (thisVersion, withinRange)
|
||||||
import Stackage.CheckPlan
|
import Stackage.CheckPlan
|
||||||
|
import Stackage.Config
|
||||||
import Stackage.InstallInfo
|
import Stackage.InstallInfo
|
||||||
import Stackage.Tarballs
|
import Stackage.Tarballs
|
||||||
import Stackage.Test
|
import Stackage.Test
|
||||||
|
import Stackage.Types
|
||||||
import Stackage.Util
|
import Stackage.Util
|
||||||
import Stackage.Config
|
import System.Directory (canonicalizePath,
|
||||||
|
createDirectoryIfMissing,
|
||||||
|
doesDirectoryExist)
|
||||||
import System.Exit (ExitCode (ExitSuccess), exitWith)
|
import System.Exit (ExitCode (ExitSuccess), exitWith)
|
||||||
import System.IO (IOMode (WriteMode), withBinaryFile, hPutStrLn)
|
import System.IO (IOMode (WriteMode), hPutStrLn,
|
||||||
import System.Process (runProcess, waitForProcess, rawSystem, readProcess)
|
withBinaryFile)
|
||||||
import System.Directory (createDirectoryIfMissing, canonicalizePath, doesDirectoryExist)
|
import System.Process (rawSystem, readProcess, runProcess,
|
||||||
import Distribution.Version (thisVersion, withinRange)
|
waitForProcess)
|
||||||
import Control.Exception (assert)
|
|
||||||
import Data.Set (empty)
|
|
||||||
import qualified Data.Map as Map
|
|
||||||
import qualified Data.Set as Set
|
|
||||||
|
|
||||||
defaultBuildSettings :: BuildSettings
|
defaultBuildSettings :: BuildSettings
|
||||||
defaultBuildSettings = BuildSettings
|
defaultBuildSettings = BuildSettings
|
||||||
|
|||||||
@ -5,13 +5,13 @@ module Stackage.InstallInfo
|
|||||||
|
|
||||||
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 Stackage.Config
|
import Stackage.Config
|
||||||
import Stackage.HaskellPlatform
|
import Stackage.HaskellPlatform
|
||||||
import Stackage.LoadDatabase
|
import Stackage.LoadDatabase
|
||||||
import Stackage.NarrowDatabase
|
import Stackage.NarrowDatabase
|
||||||
import Stackage.Types
|
import Stackage.Types
|
||||||
import Stackage.Util
|
import Stackage.Util
|
||||||
import Data.Version (showVersion)
|
|
||||||
|
|
||||||
dropExcluded :: BuildSettings
|
dropExcluded :: BuildSettings
|
||||||
-> Map PackageName (VersionRange, Maintainer)
|
-> Map PackageName (VersionRange, Maintainer)
|
||||||
|
|||||||
@ -4,24 +4,36 @@ import qualified Codec.Archive.Tar as Tar
|
|||||||
import qualified Data.ByteString.Lazy as L
|
import qualified Data.ByteString.Lazy as L
|
||||||
import qualified Data.ByteString.Lazy.Char8 as L8
|
import qualified Data.ByteString.Lazy.Char8 as L8
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
|
import Data.Maybe (mapMaybe)
|
||||||
import Data.Monoid (Monoid (..))
|
import Data.Monoid (Monoid (..))
|
||||||
import Data.Set (member)
|
import Data.Set (member)
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
|
import Distribution.Compiler (CompilerFlavor (GHC))
|
||||||
import Distribution.Package (Dependency (Dependency))
|
import Distribution.Package (Dependency (Dependency))
|
||||||
import Distribution.PackageDescription (condExecutables,
|
import Distribution.PackageDescription (Condition (..),
|
||||||
|
ConfVar (..),
|
||||||
|
allBuildInfo,
|
||||||
|
benchmarkBuildInfo,
|
||||||
|
buildInfo, buildTools,
|
||||||
|
condBenchmarks,
|
||||||
|
condExecutables,
|
||||||
condLibrary,
|
condLibrary,
|
||||||
condTestSuites,
|
condTestSuites,
|
||||||
condBenchmarks,
|
condTreeComponents,
|
||||||
condTreeConstraints, condTreeComponents, ConfVar (..), Condition(..), flagName, flagDefault, genPackageFlags, allBuildInfo, packageDescription, buildTools, libBuildInfo, condTreeData, buildInfo, testBuildInfo, benchmarkBuildInfo)
|
condTreeConstraints,
|
||||||
|
condTreeData,
|
||||||
|
flagDefault, flagName,
|
||||||
|
genPackageFlags,
|
||||||
|
libBuildInfo,
|
||||||
|
packageDescription,
|
||||||
|
testBuildInfo)
|
||||||
import Distribution.PackageDescription.Parse (ParseResult (ParseOk),
|
import Distribution.PackageDescription.Parse (ParseResult (ParseOk),
|
||||||
parsePackageDescription)
|
parsePackageDescription)
|
||||||
|
import Distribution.System (buildArch, buildOS)
|
||||||
import Distribution.Version (withinRange)
|
import Distribution.Version (withinRange)
|
||||||
|
import Stackage.Config
|
||||||
import Stackage.Types
|
import Stackage.Types
|
||||||
import Stackage.Util
|
import Stackage.Util
|
||||||
import Stackage.Config
|
|
||||||
import Data.Maybe (mapMaybe)
|
|
||||||
import Distribution.System (buildOS, buildArch)
|
|
||||||
import Distribution.Compiler (CompilerFlavor (GHC))
|
|
||||||
|
|
||||||
-- | Load the raw package database.
|
-- | Load the raw package database.
|
||||||
--
|
--
|
||||||
|
|||||||
@ -2,14 +2,14 @@ module Stackage.Tarballs
|
|||||||
( makeTarballs
|
( makeTarballs
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import qualified Codec.Archive.Tar as Tar
|
import qualified Codec.Archive.Tar as Tar
|
||||||
import qualified Data.ByteString.Lazy as L
|
import qualified Data.ByteString.Lazy as L
|
||||||
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.Types
|
import Stackage.Types
|
||||||
import Stackage.Util
|
import Stackage.Util
|
||||||
import System.Directory (createDirectoryIfMissing)
|
import System.Directory (createDirectoryIfMissing)
|
||||||
import System.FilePath (takeDirectory)
|
import System.FilePath (takeDirectory)
|
||||||
|
|
||||||
makeTarballs :: InstallInfo -> IO ()
|
makeTarballs :: InstallInfo -> IO ()
|
||||||
makeTarballs ii = do
|
makeTarballs ii = do
|
||||||
|
|||||||
@ -3,21 +3,22 @@ module Stackage.Test
|
|||||||
( runTestSuites
|
( runTestSuites
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
import Control.Exception (Exception, handle, throwIO)
|
||||||
import Control.Monad (foldM, unless, when)
|
import Control.Monad (foldM, 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 Stackage.Config
|
import Stackage.Config
|
||||||
import Stackage.Types
|
import Stackage.Types
|
||||||
import Stackage.Util
|
import Stackage.Util
|
||||||
import System.Directory (createDirectory, removeFile, canonicalizePath)
|
import System.Directory (canonicalizePath, createDirectory,
|
||||||
|
removeFile)
|
||||||
import System.Environment (getEnvironment)
|
import System.Environment (getEnvironment)
|
||||||
import System.Exit (ExitCode (ExitSuccess))
|
import System.Exit (ExitCode (ExitSuccess))
|
||||||
import System.FilePath ((<.>), (</>))
|
import System.FilePath ((<.>), (</>))
|
||||||
import System.IO (IOMode (WriteMode, AppendMode),
|
import System.IO (IOMode (WriteMode, AppendMode),
|
||||||
withBinaryFile)
|
withBinaryFile)
|
||||||
import System.Process (runProcess, waitForProcess)
|
import System.Process (runProcess, waitForProcess)
|
||||||
import Control.Exception (handle, Exception, throwIO)
|
|
||||||
import Data.Typeable (Typeable)
|
|
||||||
|
|
||||||
runTestSuites :: BuildSettings -> InstallInfo -> IO ()
|
runTestSuites :: BuildSettings -> InstallInfo -> IO ()
|
||||||
runTestSuites settings ii = do
|
runTestSuites settings ii = do
|
||||||
|
|||||||
@ -42,13 +42,13 @@ instance Monoid HaskellPlatform where
|
|||||||
HaskellPlatform a x `mappend` HaskellPlatform b y = HaskellPlatform (mappend a b) (mappend x y)
|
HaskellPlatform a x `mappend` HaskellPlatform b y = HaskellPlatform (mappend a b) (mappend x y)
|
||||||
|
|
||||||
data InstallInfo = InstallInfo
|
data InstallInfo = InstallInfo
|
||||||
{ iiCore :: Set PackageName
|
{ iiCore :: Set PackageName
|
||||||
, iiPackages :: Map PackageName (Version, Maintainer)
|
, iiPackages :: Map PackageName (Version, Maintainer)
|
||||||
, iiOptionalCore :: Map PackageName Version
|
, iiOptionalCore :: Map PackageName Version
|
||||||
-- ^ This is intended to hold onto packages which might be automatically
|
-- ^ This is intended to hold onto packages which might be automatically
|
||||||
-- provided in the global package database. In practice, this would be
|
-- provided in the global package database. In practice, this would be
|
||||||
-- Haskell Platform packages provided by distributions.
|
-- Haskell Platform packages provided by distributions.
|
||||||
, iiPackageDB :: PackageDB
|
, iiPackageDB :: PackageDB
|
||||||
}
|
}
|
||||||
|
|
||||||
-- | Email address of a Stackage maintainer.
|
-- | Email address of a Stackage maintainer.
|
||||||
@ -56,16 +56,16 @@ newtype Maintainer = Maintainer { unMaintainer :: String }
|
|||||||
deriving (Show, Eq, Ord)
|
deriving (Show, Eq, Ord)
|
||||||
|
|
||||||
data BuildSettings = BuildSettings
|
data BuildSettings = BuildSettings
|
||||||
{ sandboxRoot :: FilePath
|
{ sandboxRoot :: FilePath
|
||||||
, extraBuildArgs :: [String]
|
, extraBuildArgs :: [String]
|
||||||
, extraCore :: Set PackageName
|
, extraCore :: Set PackageName
|
||||||
, expectedFailures :: Set PackageName
|
, expectedFailures :: Set PackageName
|
||||||
, stablePackages :: Map PackageName (VersionRange, Maintainer)
|
, stablePackages :: Map PackageName (VersionRange, Maintainer)
|
||||||
, extraArgs :: [String]
|
, extraArgs :: [String]
|
||||||
, haskellPlatformCabal :: FilePath
|
, haskellPlatformCabal :: FilePath
|
||||||
, requireHaskellPlatform :: Bool
|
, requireHaskellPlatform :: Bool
|
||||||
, cleanBeforeBuild :: Bool
|
, cleanBeforeBuild :: Bool
|
||||||
, excludedPackages :: Set PackageName
|
, excludedPackages :: Set PackageName
|
||||||
-- ^ Packages which should be dropped from the list of stable packages,
|
-- ^ Packages which should be dropped from the list of stable packages,
|
||||||
-- even if present via the Haskell Platform or @stablePackages@. If these
|
-- even if present via the Haskell Platform or @stablePackages@. If these
|
||||||
-- packages are dependencies of others, they will still be included.
|
-- packages are dependencies of others, they will still be included.
|
||||||
|
|||||||
@ -14,8 +14,8 @@ import Stackage.Types
|
|||||||
import System.Directory (doesDirectoryExist,
|
import System.Directory (doesDirectoryExist,
|
||||||
removeDirectoryRecursive)
|
removeDirectoryRecursive)
|
||||||
import System.Directory (getAppUserDataDirectory)
|
import System.Directory (getAppUserDataDirectory)
|
||||||
|
import System.Environment (getEnvironment)
|
||||||
import System.FilePath ((</>))
|
import System.FilePath ((</>))
|
||||||
import System.Environment (getEnvironment)
|
|
||||||
|
|
||||||
identsToRanges :: Set PackageIdentifier -> Map PackageName (VersionRange, Maintainer)
|
identsToRanges :: Set PackageIdentifier -> Map PackageName (VersionRange, Maintainer)
|
||||||
identsToRanges =
|
identsToRanges =
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user