diff --git a/Stackage/BuildPlan.hs b/Stackage/BuildPlan.hs index def0403a..27868f06 100644 --- a/Stackage/BuildPlan.hs +++ b/Stackage/BuildPlan.hs @@ -29,9 +29,9 @@ import Stackage.PackageIndex import Stackage.Prelude data BuildPlan = BuildPlan - { bpSystemInfo :: SystemInfo - , bpTools :: Vector (PackageName, Version) - , bpPackages :: Map PackageName PackagePlan + { bpSystemInfo :: SystemInfo + , bpTools :: Vector (PackageName, Version) + , bpPackages :: Map PackageName PackagePlan , bpGithubUsers :: Map Text (Set Text) } deriving (Show, Eq) diff --git a/Stackage/CheckBuildPlan.hs b/Stackage/CheckBuildPlan.hs index 7b246047..1ad76b27 100644 --- a/Stackage/CheckBuildPlan.hs +++ b/Stackage/CheckBuildPlan.hs @@ -9,12 +9,12 @@ module Stackage.CheckBuildPlan ( checkBuildPlan ) where -import Control.Monad.Writer.Strict (Writer, execWriter, tell) -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.PackageDescription -import Stackage.Prelude -import qualified Data.Text as T +import Control.Monad.Writer.Strict (Writer, execWriter, tell) +import qualified Data.Text as T +import Stackage.BuildConstraints +import Stackage.BuildPlan +import Stackage.PackageDescription +import Stackage.Prelude -- FIXME check cycles in dependencies, only looking at libraries and -- executables diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 6da91210..7f81bc0b 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -6,11 +6,11 @@ module Stackage.CompleteBuild , BumpType (..) , completeBuild ) where -import Data.Default.Class (def) -import Data.Semigroup (Max (..), Option (..)) -import Data.Text.Read (decimal) +import Data.Default.Class (def) +import Data.Semigroup (Max (..), Option (..)) +import Data.Text.Read (decimal) import Data.Time -import Data.Yaml (decodeFileEither, encodeFile) +import Data.Yaml (decodeFileEither, encodeFile) import Network.HTTP.Client import Stackage.BuildConstraints import Stackage.BuildPlan @@ -20,7 +20,7 @@ import Stackage.Prelude import Stackage.ServerBundle import Stackage.UpdateBuildPlan import Stackage.Upload -import System.IO (BufferMode (LineBuffering), hSetBuffering) +import System.IO (BufferMode (LineBuffering), hSetBuffering) data BuildType = Nightly | LTS BumpType deriving (Show, Read, Eq, Ord) diff --git a/Stackage/CorePackages.hs b/Stackage/CorePackages.hs index 48d2ac56..896ff002 100644 --- a/Stackage/CorePackages.hs +++ b/Stackage/CorePackages.hs @@ -6,10 +6,10 @@ module Stackage.CorePackages , getGhcVersion ) where -import qualified Data.Text as T -import Filesystem (listDirectory) +import qualified Data.Text as T +import Filesystem (listDirectory) import Stackage.Prelude -import System.Directory (findExecutable) +import System.Directory (findExecutable) -- | Get a @Map@ of all of the core packages. Core packages are defined as -- packages which ship with GHC itself. diff --git a/Stackage/PackageDescription.hs b/Stackage/PackageDescription.hs index ab5fe50a..24263701 100644 --- a/Stackage/PackageDescription.hs +++ b/Stackage/PackageDescription.hs @@ -51,7 +51,7 @@ instance FromJSON Component where data DepInfo = DepInfo { diComponents :: Set Component - , diRange :: VersionRange + , diRange :: VersionRange } deriving (Show, Eq) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 83fb91e7..8cb192ab 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -1,10 +1,10 @@ -- | Perform an actual build, generate a binary package database and a -- documentation directory in the process. -{-# LANGUAGE CPP #-} +{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} module Stackage.PerformBuild ( performBuild , PerformBuild (..) @@ -12,22 +12,25 @@ module Stackage.PerformBuild , pbDocDir ) where -import Stackage.BuildConstraints -import Stackage.PackageDescription -import Stackage.BuildPlan -import Stackage.Prelude hiding (pi) -import qualified Data.Map as Map -import Control.Concurrent.STM.TSem -import Control.Monad.Writer.Strict (execWriter, tell) -import Data.NonNull (fromNullable) -import Control.Concurrent.Async (async) -import System.IO.Temp (withSystemTempDirectory) -import Filesystem (createTree, removeTree, isDirectory, rename, canonicalizePath, getWorkingDirectory) -import System.IO (withBinaryFile, IOMode (WriteMode)) -import Filesystem.Path (parent) -import qualified Filesystem.Path as F -import System.Environment (getEnvironment) -import System.Directory (findExecutable) +import Control.Concurrent.Async (async) +import Control.Concurrent.STM.TSem +import Control.Monad.Writer.Strict (execWriter, tell) +import qualified Data.Map as Map +import Data.NonNull (fromNullable) +import Filesystem (canonicalizePath, createTree, + getWorkingDirectory, isDirectory, + removeTree, rename) +import Filesystem.Path (parent) +import qualified Filesystem.Path as F +import Stackage.BuildConstraints +import Stackage.BuildPlan +import Stackage.PackageDescription +import Stackage.Prelude hiding (pi) +import System.Directory (findExecutable) +import System.Environment (getEnvironment) +import System.IO (IOMode (WriteMode), + withBinaryFile) +import System.IO.Temp (withSystemTempDirectory) data BuildException = BuildException (Map PackageName BuildFailure) [Text] deriving Typeable @@ -51,18 +54,18 @@ data BuildFailure = DependencyFailed PackageName instance Exception BuildFailure data PerformBuild = PerformBuild - { pbPlan :: BuildPlan - , pbInstallDest :: FilePath - , pbLog :: ByteString -> IO () - , pbLogDir :: FilePath - , pbJobs :: Int + { pbPlan :: BuildPlan + , pbInstallDest :: FilePath + , pbLog :: ByteString -> IO () + , pbLogDir :: FilePath + , pbJobs :: Int , pbGlobalInstall :: Bool -- ^ Register packages in the global database } data PackageInfo = PackageInfo - { piPlan :: PackagePlan - , piName :: PackageName + { piPlan :: PackagePlan + , piName :: PackageName , piResult :: TMVar Bool } @@ -200,17 +203,17 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do #endif data SingleBuild = SingleBuild - { sbSem :: TSem - , sbErrsVar :: TVar (Map PackageName BuildFailure) - , sbWarningsVar :: TVar ([Text] -> [Text]) - , sbActive :: TVar Int - , sbToolMap :: Map ExeName (Set PackageName) - , sbPackageMap :: Map PackageName PackageInfo - , sbBuildDir :: FilePath - , sbPackageInfo :: PackageInfo + { sbSem :: TSem + , sbErrsVar :: TVar (Map PackageName BuildFailure) + , sbWarningsVar :: TVar ([Text] -> [Text]) + , sbActive :: TVar Int + , sbToolMap :: Map ExeName (Set PackageName) + , sbPackageMap :: Map PackageName PackageInfo + , sbBuildDir :: FilePath + , sbPackageInfo :: PackageInfo , sbRegisterMutex :: MVar () - , sbModifiedEnv :: [(String, String)] - , sbHaddockFiles :: TVar (Map Text FilePath) -- ^ package-version, .haddock file + , sbModifiedEnv :: [(String, String)] + , sbHaddockFiles :: TVar (Map Text FilePath) -- ^ package-version, .haddock file } singleBuild :: PerformBuild -> SingleBuild -> IO () diff --git a/Stackage/ServerBundle.hs b/Stackage/ServerBundle.hs index d35e8849..d3d0b12c 100644 --- a/Stackage/ServerBundle.hs +++ b/Stackage/ServerBundle.hs @@ -9,18 +9,18 @@ module Stackage.ServerBundle , docsListing ) where -import qualified Codec.Archive.Tar as Tar -import qualified Codec.Archive.Tar.Entry as Tar -import qualified Codec.Compression.GZip as GZip -import qualified Data.Yaml as Y -import Foreign.C.Types (CTime (CTime)) +import qualified Codec.Archive.Tar as Tar +import qualified Codec.Archive.Tar.Entry as Tar +import qualified Codec.Compression.GZip as GZip +import qualified Data.Yaml as Y +import Filesystem (isFile) +import Foreign.C.Types (CTime (CTime)) import Stackage.BuildConstraints import Stackage.BuildPlan import Stackage.Prelude -import qualified System.PosixCompat.Time as PC -import qualified Text.XML as X -import Text.XML.Cursor -import Filesystem (isFile) +import qualified System.PosixCompat.Time as PC +import qualified Text.XML as X +import Text.XML.Cursor -- | Get current time epochTime :: IO Tar.EpochTime diff --git a/Stackage/UpdateBuildPlan.hs b/Stackage/UpdateBuildPlan.hs index 68e795fc..617560b5 100644 --- a/Stackage/UpdateBuildPlan.hs +++ b/Stackage/UpdateBuildPlan.hs @@ -8,9 +8,9 @@ module Stackage.UpdateBuildPlan , updateBuildPlan ) where -import qualified Data.Map as Map -import Distribution.Version (anyVersion, earlierVersion, - orLaterVersion) +import qualified Data.Map as Map +import Distribution.Version (anyVersion, earlierVersion, + orLaterVersion) import Stackage.BuildConstraints import Stackage.BuildPlan import Stackage.Prelude diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs index 5264a852..e751ff93 100644 --- a/Stackage/Upload.hs +++ b/Stackage/Upload.hs @@ -20,9 +20,9 @@ import Data.Default.Class (Default (..)) import Filesystem (isDirectory, isFile) import Network.HTTP.Client import Network.HTTP.Client.MultipartFormData -import Stackage.BuildPlan (BuildPlan) +import Stackage.BuildPlan (BuildPlan) import Stackage.Prelude -import Stackage.ServerBundle (bpAllPackages, docsListing) +import Stackage.ServerBundle (bpAllPackages, docsListing) import System.IO.Temp (withSystemTempFile) newtype StackageServer = StackageServer { unStackageServer :: Text } @@ -173,11 +173,11 @@ uploadHackageDistro bp username password = } data UploadDocMap = UploadDocMap - { udmServer :: StackageServer + { udmServer :: StackageServer , udmAuthToken :: Text - , udmSnapshot :: SnapshotIdent - , udmDocDir :: FilePath - , udmPlan :: BuildPlan + , udmSnapshot :: SnapshotIdent + , udmDocDir :: FilePath + , udmPlan :: BuildPlan } uploadDocMap :: UploadDocMap -> Manager -> IO (Response LByteString)