Skip to content

Commit cf1e436

Browse files
mergify[bot]philderbeastKleidukos
authored
Backport #10719: Follow HLint suggestion: use fewer imports (#10733)
* Remove CPP MIN_VERSION_base(4,11,0) in Cabal.Monad (cherry picked from commit c7f3def) * Follow hlint suggestion: use fewer imports - Use fewer imports with CPP in Compat.Time - Use fewer imports in IntegrationTests2 - Use fewer imports in Distribution.Client.ProjectPlanning - Use fewer imports in Distribution.Client.Config - Use fewer imports in Distribution.Client.NixStyleOptions - Use fewer imports in Internal.TempFile - Use fewer imports in Distribution.Client.Store - Use fewer imports in Distribution.Client.SetupWrapper - Use fewer imports in Disribution.Simple.GHC - Use fewer imports in NeedleHaystack - Remove unused -XCPP from Client.ProjectPlanning - Enable hlint suggestion "Use fewer imports" - Ignore custom setup test files from Idris and Doctest (cherry picked from commit 217f08a) # Conflicts: # .hlint.yaml # cabal-install/tests/IntegrationTests2.hs # cabal-testsuite/src/Test/Cabal/NeedleHaystack.hs * Bump hlint warning counts (cherry picked from commit d165dfd) # Conflicts: # .hlint.yaml * resolve conflicts * remove redundant imports * fix style --------- Co-authored-by: Phil de Joux <[email protected]> Co-authored-by: Hécate <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent e87ba97 commit cf1e436

File tree

12 files changed

+341
-45
lines changed

12 files changed

+341
-45
lines changed

.hlint.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,8 @@
4949
- ignore: {name: "Use concatMap"} # 1 hint
5050
- ignore: {name: "Use const"} # 36 hints
5151
- ignore: {name: "Use elem"} # 2 hints
52-
- ignore: {name: "Use fewer imports"} # 19 hints
5352
- ignore: {name: "Use first"} # 4 hints
54-
- ignore: {name: "Use fmap"} # 24 hints
53+
- ignore: {name: "Use fmap"} # 25 hints
5554
- ignore: {name: "Use fold"} # 1 hint
5655
- ignore: {name: "Use for"} # 1 hint
5756
- ignore: {name: "Use forM_"} # 1 hint
@@ -67,7 +66,7 @@
6766
- ignore: {name: "Use isNothing"} # 1 hint
6867
- ignore: {name: "Use lambda-case"} # 47 hints
6968
- ignore: {name: "Use lefts"} # 1 hint
70-
- ignore: {name: "Use list comprehension"} # 16 hints
69+
- ignore: {name: "Use list comprehension"} # 19 hints
7170
- ignore: {name: "Use list literal"} # 3 hints
7271
- ignore: {name: "Use list literal pattern"} # 11 hints
7372
- ignore: {name: "Use map once"} # 7 hints
@@ -96,6 +95,9 @@
9695

9796
- arguments:
9897
- --ignore-glob=Cabal-syntax/src/Distribution/Fields/Lexer.hs
98+
- --ignore-glob=Cabal-tests/tests/custom-setup/CabalDoctestSetup.hs
99+
- --ignore-glob=Cabal-tests/tests/custom-setup/IdrisSetup.hs
100+
- --ignore-glob=cabal-testsuite/PackageTests/BuildWays/q/app/Main.hs
99101
- --ignore-glob=cabal-testsuite/PackageTests/CmmSources/src/Demo.hs
100102
- --ignore-glob=cabal-testsuite/PackageTests/CmmSourcesDyn/src/Demo.hs
101103
- --ignore-glob=cabal-testsuite/PackageTests/CmmSourcesExe/src/Demo.hs

Cabal/src/Distribution/Compat/Internal/TempFile.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@ import System.FilePath ((</>))
1515
import System.IO (Handle, openBinaryTempFile, openTempFile)
1616
#if defined(__IO_MANAGER_WINIO__)
1717
import System.IO (openBinaryTempFileWithDefaultPermissions)
18+
import System.Posix.Internals (c_getpid)
1819
#else
1920
import Control.Exception (onException)
2021
import Data.Bits ((.|.))
2122
import Foreign.C (CInt, eEXIST, getErrno, errnoToIOError)
2223
import GHC.IO.Handle.FD (fdToHandle)
23-
import System.Posix.Internals (c_open, c_close, o_EXCL, o_BINARY, withFilePath,
24+
import System.Posix.Internals (c_getpid, c_open, c_close, o_EXCL, o_BINARY, withFilePath,
2425
o_CREAT, o_RDWR, o_NONBLOCK, o_NOCTTY)
2526
#endif
2627

2728
import System.IO.Error (isAlreadyExistsError)
28-
import System.Posix.Internals (c_getpid)
2929

3030
#if defined(mingw32_HOST_OS) || defined(ghcjs_HOST_OS)
3131
import System.Directory ( createDirectory )

Cabal/src/Distribution/Compat/Time.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,14 @@ import System.Win32.Types ( BOOL, DWORD, LPCTSTR, LPVOID, withTString )
4141

4242
#else
4343

44-
import System.Posix.Files ( FileStatus, getFileStatus )
45-
44+
import System.Posix.Files
45+
( FileStatus, getFileStatus
4646
#if MIN_VERSION_unix(2,6,0)
47-
import System.Posix.Files ( modificationTimeHiRes )
47+
, modificationTimeHiRes
4848
#else
49-
import System.Posix.Files ( modificationTime )
49+
, modificationTime
5050
#endif
51+
)
5152

5253
#endif
5354

Cabal/src/Distribution/Simple/GHC.hs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -125,24 +125,29 @@ import Distribution.Utils.Path
125125
import Distribution.Verbosity
126126
import Distribution.Version
127127
import Language.Haskell.Extension
128-
import System.Directory
129-
( canonicalizePath
130-
, createDirectoryIfMissing
131-
, doesDirectoryExist
132-
, doesFileExist
133-
, getAppUserDataDirectory
134-
, getDirectoryContents
135-
)
136128
import System.FilePath
137129
( isRelative
138130
, takeDirectory
139131
)
140132
import qualified System.Info
141133
#ifndef mingw32_HOST_OS
142-
import System.Directory (renameFile)
143134
import System.Posix (createSymbolicLink)
144135
#endif /* mingw32_HOST_OS */
145136

137+
{- FOURMOLU_DISABLE -}
138+
import System.Directory
139+
( canonicalizePath
140+
, createDirectoryIfMissing
141+
, doesDirectoryExist
142+
, doesFileExist
143+
, getAppUserDataDirectory
144+
, getDirectoryContents
145+
#ifndef mingw32_HOST_OS
146+
, renameFile
147+
#endif
148+
)
149+
{- FOURMOLU_ENABLE -}
150+
146151
import Distribution.Simple.Setup (BuildingWhat (..))
147152
import Distribution.Simple.Setup.Build
148153

cabal-install/src/Distribution/Client/CmdTest.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ import Distribution.Client.NixStyleOptions
3333
)
3434
import Distribution.Client.ProjectOrchestration
3535
import Distribution.Client.Setup
36-
( ConfigFlags (..)
36+
( CommonSetupFlags (..)
37+
, ConfigFlags (..)
3738
, GlobalFlags (..)
3839
)
3940
import Distribution.Client.TargetProblem
@@ -66,7 +67,6 @@ import Distribution.Verbosity
6667
import qualified System.Exit (exitSuccess)
6768

6869
import Distribution.Client.Errors
69-
import Distribution.Client.Setup (CommonSetupFlags (..))
7070
import GHC.Environment
7171
( getFullArgs
7272
)

cabal-install/src/Distribution/Client/Config.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ module Distribution.Client.Config
4949
) where
5050

5151
import Distribution.Client.Compat.Prelude
52-
import Distribution.Compat.Environment (lookupEnv)
52+
import Distribution.Compat.Environment
53+
( getEnvironment
54+
, lookupEnv
55+
)
5356
import Prelude ()
5457

5558
import Language.Haskell.Extension (Language (Haskell2010))
@@ -126,9 +129,6 @@ import Distribution.Client.Version
126129
( cabalInstallVersion
127130
)
128131
import qualified Distribution.Compat.CharParsing as P
129-
import Distribution.Compat.Environment
130-
( getEnvironment
131-
)
132132
import Distribution.Compiler
133133
( CompilerFlavor (..)
134134
, defaultCompilerFlavor

cabal-install/src/Distribution/Client/ProjectPlanning.hs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{-# LANGUAGE CPP #-}
21
{-# LANGUAGE DataKinds #-}
32
{-# LANGUAGE DeriveDataTypeable #-}
43
{-# LANGUAGE DeriveFunctor #-}
@@ -100,7 +99,18 @@ module Distribution.Client.ProjectPlanning
10099
) where
101100

102101
import Distribution.Client.Compat.Prelude
103-
import Text.PrettyPrint (render)
102+
import Text.PrettyPrint
103+
( colon
104+
, comma
105+
, fsep
106+
, hang
107+
, punctuate
108+
, quotes
109+
, render
110+
, text
111+
, vcat
112+
, ($$)
113+
)
104114
import Prelude ()
105115

106116
import Distribution.Client.Config
@@ -220,7 +230,6 @@ import qualified Data.Set as Set
220230
import Distribution.Client.Errors
221231
import Distribution.Solver.Types.ProjectConfigPath
222232
import System.FilePath
223-
import Text.PrettyPrint (colon, comma, fsep, hang, punctuate, quotes, text, vcat, ($$))
224233
import qualified Text.PrettyPrint as Disp
225234

226235
-- | Check that an 'ElaboratedConfiguredPackage' actually makes

cabal-install/src/Distribution/Client/SetupWrapper.hs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,10 @@ import Distribution.Simple.Program.GHC
143143
, renderGhcOptions
144144
)
145145
import Distribution.Simple.Setup
146-
( Flag (..), CommonSetupFlags (..), GlobalFlags (..)
146+
( CommonSetupFlags (..)
147+
, Flag (..)
148+
, GlobalFlags (..)
149+
, globalCommand
147150
)
148151
import Distribution.Simple.Utils
149152
( cabalVersion
@@ -175,7 +178,6 @@ import Distribution.Verbosity
175178

176179
import Data.List (foldl1')
177180
import qualified Data.Map.Lazy as Map
178-
import Distribution.Simple.Setup (globalCommand)
179181
import Distribution.Client.Compat.ExecutablePath (getExecutablePath)
180182
import Distribution.Compat.Process (proc)
181183
import System.Directory (doesFileExist)

cabal-install/src/Distribution/Client/Store.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ import System.FilePath
4747
import Lukko
4848
#else
4949
import System.IO (openFile, IOMode(ReadWriteMode), hClose)
50-
import GHC.IO.Handle.Lock (hLock, hTryLock, LockMode(ExclusiveLock))
51-
import GHC.IO.Handle.Lock (hUnlock)
50+
import GHC.IO.Handle.Lock (LockMode (ExclusiveLock), hLock, hTryLock, hUnlock)
5251
#endif
5352

5453
-- $concurrency

cabal-install/tests/IntegrationTests2.hs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,24 +45,31 @@ import qualified Distribution.Client.CmdBench as CmdBench
4545
import qualified Distribution.Client.CmdHaddock as CmdHaddock
4646
import qualified Distribution.Client.CmdListBin as CmdListBin
4747

48+
import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject
49+
import Distribution.Client.Config (SavedConfig (savedGlobalFlags), createDefaultConfigFile, loadConfig)
50+
import Distribution.Client.GlobalFlags
51+
( GlobalFlags
52+
, defaultGlobalFlags
53+
, globalNix
54+
)
55+
import Distribution.Client.Setup (globalCommand, globalStoreDir)
56+
import Distribution.ModuleName (ModuleName)
4857
import Distribution.Package
4958
import Distribution.PackageDescription
5059
import Distribution.InstalledPackageInfo (InstalledPackageInfo)
51-
import Distribution.Simple.Setup (toFlag, HaddockFlags(..), defaultHaddockFlags)
52-
import Distribution.Client.Setup (globalCommand)
53-
import Distribution.Client.Config (loadConfig, SavedConfig(savedGlobalFlags), createDefaultConfigFile)
60+
import Distribution.Simple.Setup
61+
( toFlag,
62+
HaddockFlags(..),
63+
defaultHaddockFlags,
64+
HaddockProjectFlags(..),
65+
defaultHaddockProjectFlags )
5466
import Distribution.Simple.Compiler
5567
import Distribution.Simple.Command
5668
import qualified Distribution.Simple.Flag as Flag
5769
import Distribution.System
5870
import Distribution.Version
59-
import Distribution.ModuleName (ModuleName)
6071
import Distribution.Text
6172
import Distribution.Utils.Path (unsafeMakeSymbolicPath)
62-
import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject
63-
import Distribution.Client.Setup (globalStoreDir)
64-
import Distribution.Client.GlobalFlags (defaultGlobalFlags)
65-
import Distribution.Simple.Setup (HaddockProjectFlags(..), defaultHaddockProjectFlags)
6673

6774
import qualified Data.Map as Map
6875
import qualified Data.Set as Set
@@ -83,10 +90,9 @@ import Test.Tasty.Options
8390
import Data.Tagged (Tagged(..))
8491

8592
import qualified Data.ByteString as BS
86-
import Distribution.Client.GlobalFlags (GlobalFlags, globalNix)
93+
import Data.Maybe (fromJust)
8794
import Distribution.Simple.Flag (Flag (Flag, NoFlag))
8895
import Distribution.Types.ParStrat
89-
import Data.Maybe (fromJust)
9096

9197
#if !MIN_VERSION_directory(1,2,7)
9298
removePathForcibly :: FilePath -> IO ()

0 commit comments

Comments
 (0)