Distribution.Client.ProjectConfig.Types

cabal-install-3.12.1.0: The command-line interface for Cabal and Hackage.

Safe Haskell | None
Language | Haskell2010

Distribution.Client.ProjectConfig.Types

Contents

- Types for project config
- Resolving configuration
- Extra useful Monoids

Description

Handling project configuration, types.

Synopsis

- data ProjectConfig = ProjectConfig {
  - projectPackages :: [String]
  - projectPackagesOptional :: [String]
  - projectPackagesRepo :: [SourceRepoList]
  - projectPackagesNamed :: [PackageVersionConstraint]
  - projectConfigBuildOnly :: ProjectConfigBuildOnly
  - projectConfigShared :: ProjectConfigShared
  - projectConfigProvenance :: Set ProjectConfigProvenance
  - projectConfigAllPackages :: PackageConfig
  - projectConfigLocalPackages :: PackageConfig
  - projectConfigSpecificPackage :: MapMappend PackageName PackageConfig
  }
- newtype ProjectConfigToParse = ProjectConfigToParse ByteString
- data ProjectConfigBuildOnly = ProjectConfigBuildOnly {
  - projectConfigVerbosity :: Flag Verbosity
  - projectConfigDryRun :: Flag Bool
  - projectConfigOnlyDeps :: Flag Bool
  - projectConfigOnlyDownload :: Flag Bool
  - projectConfigSummaryFile :: NubList PathTemplate
  - projectConfigLogFile :: Flag PathTemplate
  - projectConfigBuildReports :: Flag ReportLevel
  - projectConfigReportPlanningFailure :: Flag Bool
  - projectConfigSymlinkBinDir :: Flag FilePath
  - projectConfigNumJobs :: Flag (Maybe Int)
  - projectConfigUseSemaphore :: Flag Bool
  - projectConfigKeepGoing :: Flag Bool
  - projectConfigOfflineMode :: Flag Bool
  - projectConfigKeepTempFiles :: Flag Bool
  - projectConfigHttpTransport :: Flag String
  - projectConfigIgnoreExpiry :: Flag Bool
  - projectConfigCacheDir :: Flag FilePath
  - projectConfigLogsDir :: Flag FilePath
  - projectConfigClientInstallFlags :: ClientInstallFlags
  }
- data ProjectConfigShared = ProjectConfigShared {
  - projectConfigDistDir :: Flag FilePath
  - projectConfigConfigFile :: Flag FilePath
  - projectConfigProjectDir :: Flag FilePath
  - projectConfigProjectFile :: Flag FilePath
  - projectConfigIgnoreProject :: Flag Bool
  - projectConfigHcFlavor :: Flag CompilerFlavor
  - projectConfigHcPath :: Flag FilePath
  - projectConfigHcPkg :: Flag FilePath
  - projectConfigHaddockIndex :: Flag PathTemplate
  - projectConfigInstallDirs :: InstallDirs (Flag PathTemplate)
  - projectConfigPackageDBs :: [Maybe PackageDB]
  - projectConfigRemoteRepos :: NubList RemoteRepo
  - projectConfigLocalNoIndexRepos :: NubList LocalRepo
  - projectConfigActiveRepos :: Flag ActiveRepos
  - projectConfigIndexState :: Flag TotalIndexState
  - projectConfigStoreDir :: Flag FilePath
  - projectConfigConstraints :: [(UserConstraint, ConstraintSource)]
  - projectConfigPreferences :: [PackageVersionConstraint]
  - projectConfigCabalVersion :: Flag Version
  - projectConfigSolver :: Flag PreSolver
  - projectConfigAllowOlder :: Maybe AllowOlder
  - projectConfigAllowNewer :: Maybe AllowNewer
  - projectConfigWriteGhcEnvironmentFilesPolicy :: Flag WriteGhcEnvironmentFilesPolicy
  - projectConfigMaxBackjumps :: Flag Int
  - projectConfigReorderGoals :: Flag ReorderGoals
  - projectConfigCountConflicts :: Flag CountConflicts
  - projectConfigFineGrainedConflicts :: Flag FineGrainedConflicts
  - projectConfigMinimizeConflictSet :: Flag MinimizeConflictSet
  - projectConfigStrongFlags :: Flag StrongFlags
  - projectConfigAllowBootLibInstalls :: Flag AllowBootLibInstalls
  - projectConfigOnlyConstrained :: Flag OnlyConstrained
  - projectConfigPerComponent :: Flag Bool
  - projectConfigIndependentGoals :: Flag IndependentGoals
  - projectConfigPreferOldest :: Flag PreferOldest
  - projectConfigProgPathExtra :: NubList FilePath
  - projectConfigMultiRepl :: Flag Bool
  }
- data ProjectConfigProvenance
  - = Implicit
  - | Explicit ProjectConfigPath
- data PackageConfig = PackageConfig {
  - packageConfigProgramPaths :: MapLast String FilePath
  - packageConfigProgramArgs :: MapMappend String [String]
  - packageConfigProgramPathExtra :: NubList FilePath
  - packageConfigFlagAssignment :: FlagAssignment
  - packageConfigVanillaLib :: Flag Bool
  - packageConfigSharedLib :: Flag Bool
  - packageConfigStaticLib :: Flag Bool
  - packageConfigDynExe :: Flag Bool
  - packageConfigFullyStaticExe :: Flag Bool
  - packageConfigProf :: Flag Bool
  - packageConfigProfLib :: Flag Bool
  - packageConfigProfExe :: Flag Bool
  - packageConfigProfDetail :: Flag ProfDetailLevel
  - packageConfigProfLibDetail :: Flag ProfDetailLevel
  - packageConfigConfigureArgs :: [String]
  - packageConfigOptimization :: Flag OptimisationLevel
  - packageConfigProgPrefix :: Flag PathTemplate
  - packageConfigProgSuffix :: Flag PathTemplate
  - packageConfigExtraLibDirs :: [FilePath]
  - packageConfigExtraLibDirsStatic :: [FilePath]
  - packageConfigExtraFrameworkDirs :: [FilePath]
  - packageConfigExtraIncludeDirs :: [FilePath]
  - packageConfigGHCiLib :: Flag Bool
  - packageConfigSplitSections :: Flag Bool
  - packageConfigSplitObjs :: Flag Bool
  - packageConfigStripExes :: Flag Bool
  - packageConfigStripLibs :: Flag Bool
  - packageConfigTests :: Flag Bool
  - packageConfigBenchmarks :: Flag Bool
  - packageConfigCoverage :: Flag Bool
  - packageConfigRelocatable :: Flag Bool
  - packageConfigDebugInfo :: Flag DebugInfoLevel
  - packageConfigDumpBuildInfo :: Flag DumpBuildInfo
  - packageConfigRunTests :: Flag Bool
  - packageConfigDocumentation :: Flag Bool
  - packageConfigHaddockHoogle :: Flag Bool
  - packageConfigHaddockHtml :: Flag Bool
  - packageConfigHaddockHtmlLocation :: Flag String
  - packageConfigHaddockForeignLibs :: Flag Bool
  - packageConfigHaddockExecutables :: Flag Bool
  - packageConfigHaddockTestSuites :: Flag Bool
  - packageConfigHaddockBenchmarks :: Flag Bool
  - packageConfigHaddockInternal :: Flag Bool
  - packageConfigHaddockCss :: Flag FilePath
  - packageConfigHaddockLinkedSource :: Flag Bool
  - packageConfigHaddockQuickJump :: Flag Bool
  - packageConfigHaddockHscolourCss :: Flag FilePath
  - packageConfigHaddockContents :: Flag PathTemplate
  - packageConfigHaddockIndex :: Flag PathTemplate
  - packageConfigHaddockBaseUrl :: Flag String
  - packageConfigHaddockLib :: Flag String
  - packageConfigHaddockOutputDir :: Flag FilePath
  - packageConfigHaddockForHackage :: Flag HaddockTarget
  - packageConfigTestHumanLog :: Flag PathTemplate
  - packageConfigTestMachineLog :: Flag PathTemplate
  - packageConfigTestShowDetails :: Flag TestShowDetails
  - packageConfigTestKeepTix :: Flag Bool
  - packageConfigTestWrapper :: Flag FilePath
  - packageConfigTestFailWhenNoTestSuites :: Flag Bool
  - packageConfigTestTestOptions :: [PathTemplate]
  - packageConfigBenchmarkOptions :: [PathTemplate]
  }
- data SolverSettings = SolverSettings {
  - solverSettingRemoteRepos :: [RemoteRepo]
  - solverSettingLocalNoIndexRepos :: [LocalRepo]
  - solverSettingConstraints :: [(UserConstraint, ConstraintSource)]
  - solverSettingPreferences :: [PackageVersionConstraint]
  - solverSettingFlagAssignment :: FlagAssignment
  - solverSettingFlagAssignments :: Map PackageName FlagAssignment
  - solverSettingCabalVersion :: Maybe Version
  - solverSettingSolver :: PreSolver
  - solverSettingAllowOlder :: AllowOlder
  - solverSettingAllowNewer :: AllowNewer
  - solverSettingMaxBackjumps :: Maybe Int
  - solverSettingReorderGoals :: ReorderGoals
  - solverSettingCountConflicts :: CountConflicts
  - solverSettingFineGrainedConflicts :: FineGrainedConflicts
  - solverSettingMinimizeConflictSet :: MinimizeConflictSet
  - solverSettingStrongFlags :: StrongFlags
  - solverSettingAllowBootLibInstalls :: AllowBootLibInstalls
  - solverSettingOnlyConstrained :: OnlyConstrained
  - solverSettingIndexState :: Maybe TotalIndexState
  - solverSettingActiveRepos :: Maybe ActiveRepos
  - solverSettingIndependentGoals :: IndependentGoals
  - solverSettingPreferOldest :: PreferOldest
  }
- data BuildTimeSettings = BuildTimeSettings {
  - buildSettingDryRun :: Bool
  - buildSettingOnlyDeps :: Bool
  - buildSettingOnlyDownload :: Bool
  - buildSettingSummaryFile :: [PathTemplate]
  - buildSettingLogFile :: Maybe (Compiler -> Platform -> PackageId -> UnitId -> FilePath)
  - buildSettingLogVerbosity :: Verbosity
  - buildSettingBuildReports :: ReportLevel
  - buildSettingReportPlanningFailure :: Bool
  - buildSettingSymlinkBinDir :: [FilePath]
  - buildSettingNumJobs :: ParStratInstall
  - buildSettingKeepGoing :: Bool
  - buildSettingOfflineMode :: Bool
  - buildSettingKeepTempFiles :: Bool
  - buildSettingRemoteRepos :: [RemoteRepo]
  - buildSettingLocalNoIndexRepos :: [LocalRepo]
  - buildSettingCacheDir :: FilePath
  - buildSettingHttpTransport :: Maybe String
  - buildSettingIgnoreExpiry :: Bool
  - buildSettingProgPathExtra :: [FilePath]
  - buildSettingHaddockOpen :: Bool
  }
- data ParStratX sem
  - = NumJobs (Maybe Int)
  - | UseSem sem
  - | Serial
- isParallelBuild :: ParStratX n -> Bool
- type ParStrat = ParStratX String
- newtype MapLast k v = MapLast {
  - getMapLast :: Map k v
  }
- newtype MapMappend k v = MapMappend {
  - getMapMappend :: Map k v
  }

# Types for project config

data ProjectConfig #

This type corresponds directly to what can be written in the `cabal.project` file. Other sources of configuration can also be injected into this type, such as the user-wide config file and the command line of `cabal configure` or `cabal build`.

Since it corresponds to the external project file it is an instance of `Monoid` and all the fields can be empty. This also means there has to be a step where we resolve configuration. At a minimum resolving means applying defaults but it can also mean merging information from multiple sources. For example for package-specific configuration the project file can specify configuration that applies to all local packages, and then additional configuration for a specific package.

Future directions: multiple profiles, conditionals. If we add these features then the gap between configuration as written in the config file and resolved settings we actually use will become even bigger.

Constructors

ProjectConfig |
Fields projectPackages :: [String] Packages in this project, including local dirs, local .cabal files local and remote tarballs. When these are file globs, they must match at least one package. projectPackagesOptional :: [String] Like `projectConfigPackageGlobs` but optional in the sense that file globs are allowed to match nothing. The primary use case for this is to be able to say `optional-packages: */` to automagically pick up deps that we unpack locally without erroring when there aren't any. projectPackagesRepo :: [SourceRepoList] Packages in this project from remote source repositories. projectPackagesNamed :: [PackageVersionConstraint] Packages in this project from hackage repositories. projectConfigBuildOnly :: ProjectConfigBuildOnly projectConfigShared :: ProjectConfigShared projectConfigProvenance :: Set ProjectConfigProvenance projectConfigAllPackages :: PackageConfig Configuration to be applied to *all* packages, whether named in `cabal.project` or not. projectConfigLocalPackages :: PackageConfig Configuration to be applied to *local* packages; i.e., any packages which are explicitly named in `cabal.project`. projectConfigSpecificPackage :: MapMappend PackageName PackageConfig

#### Instances

Instances details

Structured ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy ProjectConfig -> Structure # structureHash' :: Tagged ProjectConfig MD5
Binary ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfig -> Put # get :: Get ProjectConfig # putList :: [ProjectConfig] -> Put #
Monoid ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods mempty :: ProjectConfig # mappend :: ProjectConfig -> ProjectConfig -> ProjectConfig # mconcat :: [ProjectConfig] -> ProjectConfig #
Semigroup ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (<>) :: ProjectConfig -> ProjectConfig -> ProjectConfig # sconcat :: NonEmpty ProjectConfig -> ProjectConfig # stimes :: Integral b => b -> ProjectConfig -> ProjectConfig #
Generic ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep ProjectConfig |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfig = D1 ('MetaData "ProjectConfig" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "ProjectConfig" 'PrefixI 'True) (((S1 ('MetaSel ('Just "projectPackages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "projectPackagesOptional") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "projectPackagesRepo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SourceRepoList]) :*: (S1 ('MetaSel ('Just "projectPackagesNamed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageVersionConstraint]) :*: S1 ('MetaSel ('Just "projectConfigBuildOnly") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjectConfigBuildOnly)))) :*: ((S1 ('MetaSel ('Just "projectConfigShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjectConfigShared) :*: S1 ('MetaSel ('Just "projectConfigProvenance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ProjectConfigProvenance))) :*: (S1 ('MetaSel ('Just "projectConfigAllPackages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageConfig) :*: (S1 ('MetaSel ('Just "projectConfigLocalPackages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageConfig) :*: S1 ('MetaSel ('Just "projectConfigSpecificPackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MapMappend PackageName PackageConfig)))))))
Methods from :: ProjectConfig -> Rep ProjectConfig x # to :: Rep ProjectConfig x -> ProjectConfig #
Show ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> ProjectConfig -> ShowS # show :: ProjectConfig -> String # showList :: [ProjectConfig] -> ShowS #
Eq ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: ProjectConfig -> ProjectConfig -> Bool # (/=) :: ProjectConfig -> ProjectConfig -> Bool #
type Rep ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfig = D1 ('MetaData "ProjectConfig" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "ProjectConfig" 'PrefixI 'True) (((S1 ('MetaSel ('Just "projectPackages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "projectPackagesOptional") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "projectPackagesRepo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SourceRepoList]) :*: (S1 ('MetaSel ('Just "projectPackagesNamed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageVersionConstraint]) :*: S1 ('MetaSel ('Just "projectConfigBuildOnly") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjectConfigBuildOnly)))) :*: ((S1 ('MetaSel ('Just "projectConfigShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjectConfigShared) :*: S1 ('MetaSel ('Just "projectConfigProvenance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ProjectConfigProvenance))) :*: (S1 ('MetaSel ('Just "projectConfigAllPackages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageConfig) :*: (S1 ('MetaSel ('Just "projectConfigLocalPackages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageConfig) :*: S1 ('MetaSel ('Just "projectConfigSpecificPackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MapMappend PackageName PackageConfig)))))))

newtype ProjectConfigToParse #

The project configuration is configuration that is parsed but parse configuration may import more configuration. Holds the unparsed contents of an imported file contributing to the project config.

Constructors

ProjectConfigToParse ByteString |

data ProjectConfigBuildOnly #

That part of the project configuration that only affects how we build and not the value of the things we build. This means this information does not need to be tracked for changes since it does not affect the outcome.

Constructors

ProjectConfigBuildOnly |
Fields projectConfigVerbosity :: Flag Verbosity projectConfigDryRun :: Flag Bool projectConfigOnlyDeps :: Flag Bool projectConfigOnlyDownload :: Flag Bool projectConfigSummaryFile :: NubList PathTemplate projectConfigLogFile :: Flag PathTemplate projectConfigBuildReports :: Flag ReportLevel projectConfigReportPlanningFailure :: Flag Bool projectConfigSymlinkBinDir :: Flag FilePath projectConfigNumJobs :: Flag (Maybe Int) projectConfigUseSemaphore :: Flag Bool projectConfigKeepGoing :: Flag Bool projectConfigOfflineMode :: Flag Bool projectConfigKeepTempFiles :: Flag Bool projectConfigHttpTransport :: Flag String projectConfigIgnoreExpiry :: Flag Bool projectConfigCacheDir :: Flag FilePath projectConfigLogsDir :: Flag FilePath projectConfigClientInstallFlags :: ClientInstallFlags

#### Instances

Instances details

Structured ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy ProjectConfigBuildOnly -> Structure # structureHash' :: Tagged ProjectConfigBuildOnly MD5
Binary ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfigBuildOnly -> Put # get :: Get ProjectConfigBuildOnly # putList :: [ProjectConfigBuildOnly] -> Put #
Monoid ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods mempty :: ProjectConfigBuildOnly # mappend :: ProjectConfigBuildOnly -> ProjectConfigBuildOnly -> ProjectConfigBuildOnly # mconcat :: [ProjectConfigBuildOnly] -> ProjectConfigBuildOnly #
Semigroup ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (<>) :: ProjectConfigBuildOnly -> ProjectConfigBuildOnly -> ProjectConfigBuildOnly # sconcat :: NonEmpty ProjectConfigBuildOnly -> ProjectConfigBuildOnly # stimes :: Integral b => b -> ProjectConfigBuildOnly -> ProjectConfigBuildOnly #
Generic ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep ProjectConfigBuildOnly |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfigBuildOnly = D1 ('MetaData "ProjectConfigBuildOnly" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "ProjectConfigBuildOnly" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "projectConfigVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "projectConfigDryRun") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "projectConfigOnlyDeps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigOnlyDownload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "projectConfigSummaryFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList PathTemplate)) :*: S1 ('MetaSel ('Just "projectConfigLogFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate))) :*: (S1 ('MetaSel ('Just "projectConfigBuildReports") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ReportLevel)) :*: (S1 ('MetaSel ('Just "projectConfigReportPlanningFailure") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigSymlinkBinDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))))) :*: (((S1 ('MetaSel ('Just "projectConfigNumJobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (Maybe Int))) :*: S1 ('MetaSel ('Just "projectConfigUseSemaphore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "projectConfigKeepGoing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "projectConfigOfflineMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigKeepTempFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: ((S1 ('MetaSel ('Just "projectConfigHttpTransport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "projectConfigIgnoreExpiry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "projectConfigCacheDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "projectConfigLogsDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigClientInstallFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClientInstallFlags)))))))
Methods from :: ProjectConfigBuildOnly -> Rep ProjectConfigBuildOnly x # to :: Rep ProjectConfigBuildOnly x -> ProjectConfigBuildOnly #
Show ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> ProjectConfigBuildOnly -> ShowS # show :: ProjectConfigBuildOnly -> String # showList :: [ProjectConfigBuildOnly] -> ShowS #
Eq ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: ProjectConfigBuildOnly -> ProjectConfigBuildOnly -> Bool # (/=) :: ProjectConfigBuildOnly -> ProjectConfigBuildOnly -> Bool #
type Rep ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfigBuildOnly = D1 ('MetaData "ProjectConfigBuildOnly" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "ProjectConfigBuildOnly" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "projectConfigVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "projectConfigDryRun") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "projectConfigOnlyDeps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigOnlyDownload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "projectConfigSummaryFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList PathTemplate)) :*: S1 ('MetaSel ('Just "projectConfigLogFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate))) :*: (S1 ('MetaSel ('Just "projectConfigBuildReports") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ReportLevel)) :*: (S1 ('MetaSel ('Just "projectConfigReportPlanningFailure") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigSymlinkBinDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))))) :*: (((S1 ('MetaSel ('Just "projectConfigNumJobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (Maybe Int))) :*: S1 ('MetaSel ('Just "projectConfigUseSemaphore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "projectConfigKeepGoing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "projectConfigOfflineMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigKeepTempFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: ((S1 ('MetaSel ('Just "projectConfigHttpTransport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "projectConfigIgnoreExpiry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "projectConfigCacheDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "projectConfigLogsDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigClientInstallFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClientInstallFlags)))))))

data ProjectConfigShared #

Project configuration that is shared between all packages in the project. In particular this includes configuration that affects the solver.

Constructors

ProjectConfigShared |
Fields projectConfigDistDir :: Flag FilePath projectConfigConfigFile :: Flag FilePath projectConfigProjectDir :: Flag FilePath projectConfigProjectFile :: Flag FilePath projectConfigIgnoreProject :: Flag Bool projectConfigHcFlavor :: Flag CompilerFlavor projectConfigHcPath :: Flag FilePath projectConfigHcPkg :: Flag FilePath projectConfigHaddockIndex :: Flag PathTemplate projectConfigInstallDirs :: InstallDirs (Flag PathTemplate) projectConfigPackageDBs :: [Maybe PackageDB] projectConfigRemoteRepos :: NubList RemoteRepo Available Hackage servers. projectConfigLocalNoIndexRepos :: NubList LocalRepo projectConfigActiveRepos :: Flag ActiveRepos projectConfigIndexState :: Flag TotalIndexState projectConfigStoreDir :: Flag FilePath projectConfigConstraints :: [(UserConstraint, ConstraintSource)] projectConfigPreferences :: [PackageVersionConstraint] projectConfigCabalVersion :: Flag Version projectConfigSolver :: Flag PreSolver projectConfigAllowOlder :: Maybe AllowOlder projectConfigAllowNewer :: Maybe AllowNewer projectConfigWriteGhcEnvironmentFilesPolicy :: Flag WriteGhcEnvironmentFilesPolicy projectConfigMaxBackjumps :: Flag Int projectConfigReorderGoals :: Flag ReorderGoals projectConfigCountConflicts :: Flag CountConflicts projectConfigFineGrainedConflicts :: Flag FineGrainedConflicts projectConfigMinimizeConflictSet :: Flag MinimizeConflictSet projectConfigStrongFlags :: Flag StrongFlags projectConfigAllowBootLibInstalls :: Flag AllowBootLibInstalls projectConfigOnlyConstrained :: Flag OnlyConstrained projectConfigPerComponent :: Flag Bool projectConfigIndependentGoals :: Flag IndependentGoals projectConfigPreferOldest :: Flag PreferOldest projectConfigProgPathExtra :: NubList FilePath projectConfigMultiRepl :: Flag Bool

#### Instances

Instances details

Structured ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy ProjectConfigShared -> Structure # structureHash' :: Tagged ProjectConfigShared MD5
Binary ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfigShared -> Put # get :: Get ProjectConfigShared # putList :: [ProjectConfigShared] -> Put #
Monoid ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods mempty :: ProjectConfigShared # mappend :: ProjectConfigShared -> ProjectConfigShared -> ProjectConfigShared # mconcat :: [ProjectConfigShared] -> ProjectConfigShared #
Semigroup ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (<>) :: ProjectConfigShared -> ProjectConfigShared -> ProjectConfigShared # sconcat :: NonEmpty ProjectConfigShared -> ProjectConfigShared # stimes :: Integral b => b -> ProjectConfigShared -> ProjectConfigShared #
Generic ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep ProjectConfigShared |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfigShared = D1 ('MetaData "ProjectConfigShared" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "ProjectConfigShared" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "projectConfigDistDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigConfigFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "projectConfigProjectDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigProjectFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))) :*: ((S1 ('MetaSel ('Just "projectConfigIgnoreProject") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigHcFlavor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CompilerFlavor))) :*: (S1 ('MetaSel ('Just "projectConfigHcPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "projectConfigHcPkg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigHaddockIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))))) :*: (((S1 ('MetaSel ('Just "projectConfigInstallDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstallDirs (Flag PathTemplate))) :*: S1 ('MetaSel ('Just "projectConfigPackageDBs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe PackageDB])) :*: (S1 ('MetaSel ('Just "projectConfigRemoteRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList RemoteRepo)) :*: S1 ('MetaSel ('Just "projectConfigLocalNoIndexRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList LocalRepo)))) :*: ((S1 ('MetaSel ('Just "projectConfigActiveRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ActiveRepos)) :*: S1 ('MetaSel ('Just "projectConfigIndexState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag TotalIndexState))) :*: (S1 ('MetaSel ('Just "projectConfigStoreDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "projectConfigConstraints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UserConstraint, ConstraintSource)]) :*: S1 ('MetaSel ('Just "projectConfigPreferences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageVersionConstraint])))))) :*: ((((S1 ('MetaSel ('Just "projectConfigCabalVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Version)) :*: S1 ('MetaSel ('Just "projectConfigSolver") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PreSolver))) :*: (S1 ('MetaSel ('Just "projectConfigAllowOlder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AllowOlder)) :*: S1 ('MetaSel ('Just "projectConfigAllowNewer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AllowNewer)))) :*: ((S1 ('MetaSel ('Just "projectConfigWriteGhcEnvironmentFilesPolicy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag WriteGhcEnvironmentFilesPolicy)) :*: S1 ('MetaSel ('Just "projectConfigMaxBackjumps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Int))) :*: (S1 ('MetaSel ('Just "projectConfigReorderGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ReorderGoals)) :*: (S1 ('MetaSel ('Just "projectConfigCountConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CountConflicts)) :*: S1 ('MetaSel ('Just "projectConfigFineGrainedConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FineGrainedConflicts)))))) :*: (((S1 ('MetaSel ('Just "projectConfigMinimizeConflictSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag MinimizeConflictSet)) :*: S1 ('MetaSel ('Just "projectConfigStrongFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag StrongFlags))) :*: (S1 ('MetaSel ('Just "projectConfigAllowBootLibInstalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag AllowBootLibInstalls)) :*: S1 ('MetaSel ('Just "projectConfigOnlyConstrained") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag OnlyConstrained)))) :*: ((S1 ('MetaSel ('Just "projectConfigPerComponent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigIndependentGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag IndependentGoals))) :*: (S1 ('MetaSel ('Just "projectConfigPreferOldest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PreferOldest)) :*: (S1 ('MetaSel ('Just "projectConfigProgPathExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList FilePath)) :*: S1 ('MetaSel ('Just "projectConfigMultiRepl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))))))
Methods from :: ProjectConfigShared -> Rep ProjectConfigShared x # to :: Rep ProjectConfigShared x -> ProjectConfigShared #
Show ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> ProjectConfigShared -> ShowS # show :: ProjectConfigShared -> String # showList :: [ProjectConfigShared] -> ShowS #
Eq ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: ProjectConfigShared -> ProjectConfigShared -> Bool # (/=) :: ProjectConfigShared -> ProjectConfigShared -> Bool #
type Rep ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfigShared = D1 ('MetaData "ProjectConfigShared" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "ProjectConfigShared" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "projectConfigDistDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigConfigFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "projectConfigProjectDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigProjectFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))) :*: ((S1 ('MetaSel ('Just "projectConfigIgnoreProject") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigHcFlavor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CompilerFlavor))) :*: (S1 ('MetaSel ('Just "projectConfigHcPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "projectConfigHcPkg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "projectConfigHaddockIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))))) :*: (((S1 ('MetaSel ('Just "projectConfigInstallDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstallDirs (Flag PathTemplate))) :*: S1 ('MetaSel ('Just "projectConfigPackageDBs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe PackageDB])) :*: (S1 ('MetaSel ('Just "projectConfigRemoteRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList RemoteRepo)) :*: S1 ('MetaSel ('Just "projectConfigLocalNoIndexRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList LocalRepo)))) :*: ((S1 ('MetaSel ('Just "projectConfigActiveRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ActiveRepos)) :*: S1 ('MetaSel ('Just "projectConfigIndexState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag TotalIndexState))) :*: (S1 ('MetaSel ('Just "projectConfigStoreDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "projectConfigConstraints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UserConstraint, ConstraintSource)]) :*: S1 ('MetaSel ('Just "projectConfigPreferences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageVersionConstraint])))))) :*: ((((S1 ('MetaSel ('Just "projectConfigCabalVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Version)) :*: S1 ('MetaSel ('Just "projectConfigSolver") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PreSolver))) :*: (S1 ('MetaSel ('Just "projectConfigAllowOlder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AllowOlder)) :*: S1 ('MetaSel ('Just "projectConfigAllowNewer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AllowNewer)))) :*: ((S1 ('MetaSel ('Just "projectConfigWriteGhcEnvironmentFilesPolicy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag WriteGhcEnvironmentFilesPolicy)) :*: S1 ('MetaSel ('Just "projectConfigMaxBackjumps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Int))) :*: (S1 ('MetaSel ('Just "projectConfigReorderGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ReorderGoals)) :*: (S1 ('MetaSel ('Just "projectConfigCountConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CountConflicts)) :*: S1 ('MetaSel ('Just "projectConfigFineGrainedConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FineGrainedConflicts)))))) :*: (((S1 ('MetaSel ('Just "projectConfigMinimizeConflictSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag MinimizeConflictSet)) :*: S1 ('MetaSel ('Just "projectConfigStrongFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag StrongFlags))) :*: (S1 ('MetaSel ('Just "projectConfigAllowBootLibInstalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag AllowBootLibInstalls)) :*: S1 ('MetaSel ('Just "projectConfigOnlyConstrained") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag OnlyConstrained)))) :*: ((S1 ('MetaSel ('Just "projectConfigPerComponent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "projectConfigIndependentGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag IndependentGoals))) :*: (S1 ('MetaSel ('Just "projectConfigPreferOldest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PreferOldest)) :*: (S1 ('MetaSel ('Just "projectConfigProgPathExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList FilePath)) :*: S1 ('MetaSel ('Just "projectConfigMultiRepl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))))))

data ProjectConfigProvenance #

Specifies the provenance of project configuration, whether defaults were used or if the configuration was read from an explicit file path.

Constructors

Implicit | The configuration is implicit due to no explicit configuration being found. See `readProjectConfig` for how implicit configuration is determined.
Explicit ProjectConfigPath | The path the project configuration was explicitly read from. | The configuration was explicitly read from the specified `ProjectConfigPath`.

#### Instances

Instances details

Structured ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy ProjectConfigProvenance -> Structure # structureHash' :: Tagged ProjectConfigProvenance MD5
Binary ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfigProvenance -> Put # get :: Get ProjectConfigProvenance # putList :: [ProjectConfigProvenance] -> Put #
Generic ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep ProjectConfigProvenance |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfigProvenance = D1 ('MetaData "ProjectConfigProvenance" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "Implicit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Explicit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjectConfigPath)))
Methods from :: ProjectConfigProvenance -> Rep ProjectConfigProvenance x # to :: Rep ProjectConfigProvenance x -> ProjectConfigProvenance #
Show ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> ProjectConfigProvenance -> ShowS # show :: ProjectConfigProvenance -> String # showList :: [ProjectConfigProvenance] -> ShowS #
Eq ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: ProjectConfigProvenance -> ProjectConfigProvenance -> Bool # (/=) :: ProjectConfigProvenance -> ProjectConfigProvenance -> Bool #
Ord ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods compare :: ProjectConfigProvenance -> ProjectConfigProvenance -> Ordering # (<) :: ProjectConfigProvenance -> ProjectConfigProvenance -> Bool # (<=) :: ProjectConfigProvenance -> ProjectConfigProvenance -> Bool # (>) :: ProjectConfigProvenance -> ProjectConfigProvenance -> Bool # (>=) :: ProjectConfigProvenance -> ProjectConfigProvenance -> Bool # max :: ProjectConfigProvenance -> ProjectConfigProvenance -> ProjectConfigProvenance # min :: ProjectConfigProvenance -> ProjectConfigProvenance -> ProjectConfigProvenance #
type Rep ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep ProjectConfigProvenance = D1 ('MetaData "ProjectConfigProvenance" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "Implicit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Explicit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjectConfigPath)))

data PackageConfig #

Project configuration that is specific to each package, that is where we can in principle have different values for different packages in the same project.

Constructors

PackageConfig |
Fields packageConfigProgramPaths :: MapLast String FilePath packageConfigProgramArgs :: MapMappend String [String] packageConfigProgramPathExtra :: NubList FilePath packageConfigFlagAssignment :: FlagAssignment packageConfigVanillaLib :: Flag Bool packageConfigSharedLib :: Flag Bool packageConfigStaticLib :: Flag Bool packageConfigDynExe :: Flag Bool packageConfigFullyStaticExe :: Flag Bool packageConfigProf :: Flag Bool packageConfigProfLib :: Flag Bool packageConfigProfExe :: Flag Bool packageConfigProfDetail :: Flag ProfDetailLevel packageConfigProfLibDetail :: Flag ProfDetailLevel packageConfigConfigureArgs :: [String] packageConfigOptimization :: Flag OptimisationLevel packageConfigProgPrefix :: Flag PathTemplate packageConfigProgSuffix :: Flag PathTemplate packageConfigExtraLibDirs :: [FilePath] packageConfigExtraLibDirsStatic :: [FilePath] packageConfigExtraFrameworkDirs :: [FilePath] packageConfigExtraIncludeDirs :: [FilePath] packageConfigGHCiLib :: Flag Bool packageConfigSplitSections :: Flag Bool packageConfigSplitObjs :: Flag Bool packageConfigStripExes :: Flag Bool packageConfigStripLibs :: Flag Bool packageConfigTests :: Flag Bool packageConfigBenchmarks :: Flag Bool packageConfigCoverage :: Flag Bool packageConfigRelocatable :: Flag Bool packageConfigDebugInfo :: Flag DebugInfoLevel packageConfigDumpBuildInfo :: Flag DumpBuildInfo packageConfigRunTests :: Flag Bool packageConfigDocumentation :: Flag Bool packageConfigHaddockHoogle :: Flag Bool packageConfigHaddockHtml :: Flag Bool packageConfigHaddockHtmlLocation :: Flag String packageConfigHaddockForeignLibs :: Flag Bool packageConfigHaddockExecutables :: Flag Bool packageConfigHaddockTestSuites :: Flag Bool packageConfigHaddockBenchmarks :: Flag Bool packageConfigHaddockInternal :: Flag Bool packageConfigHaddockCss :: Flag FilePath packageConfigHaddockLinkedSource :: Flag Bool packageConfigHaddockQuickJump :: Flag Bool packageConfigHaddockHscolourCss :: Flag FilePath packageConfigHaddockContents :: Flag PathTemplate packageConfigHaddockIndex :: Flag PathTemplate packageConfigHaddockBaseUrl :: Flag String packageConfigHaddockLib :: Flag String packageConfigHaddockOutputDir :: Flag FilePath packageConfigHaddockForHackage :: Flag HaddockTarget packageConfigTestHumanLog :: Flag PathTemplate packageConfigTestMachineLog :: Flag PathTemplate packageConfigTestShowDetails :: Flag TestShowDetails packageConfigTestKeepTix :: Flag Bool packageConfigTestWrapper :: Flag FilePath packageConfigTestFailWhenNoTestSuites :: Flag Bool packageConfigTestTestOptions :: [PathTemplate] packageConfigBenchmarkOptions :: [PathTemplate]

#### Instances

Instances details

Structured PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy PackageConfig -> Structure # structureHash' :: Tagged PackageConfig MD5
Binary PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: PackageConfig -> Put # get :: Get PackageConfig # putList :: [PackageConfig] -> Put #
Monoid PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods mempty :: PackageConfig # mappend :: PackageConfig -> PackageConfig -> PackageConfig # mconcat :: [PackageConfig] -> PackageConfig #
Semigroup PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (<>) :: PackageConfig -> PackageConfig -> PackageConfig # sconcat :: NonEmpty PackageConfig -> PackageConfig # stimes :: Integral b => b -> PackageConfig -> PackageConfig #
Generic PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep PackageConfig |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep PackageConfig = D1 ('MetaData "PackageConfig" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "PackageConfig" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "packageConfigProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MapLast String FilePath)) :*: (S1 ('MetaSel ('Just "packageConfigProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MapMappend String [String])) :*: S1 ('MetaSel ('Just "packageConfigProgramPathExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList FilePath)))) :*: ((S1 ('MetaSel ('Just "packageConfigFlagAssignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagAssignment) :*: S1 ('MetaSel ('Just "packageConfigVanillaLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigSharedLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigStaticLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: (((S1 ('MetaSel ('Just "packageConfigDynExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigFullyStaticExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigProf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigProfLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigProfExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigProfDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ProfDetailLevel))) :*: (S1 ('MetaSel ('Just "packageConfigProfLibDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ProfDetailLevel)) :*: S1 ('MetaSel ('Just "packageConfigConfigureArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))))) :*: (((S1 ('MetaSel ('Just "packageConfigOptimization") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag OptimisationLevel)) :*: (S1 ('MetaSel ('Just "packageConfigProgPrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "packageConfigProgSuffix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))) :*: ((S1 ('MetaSel ('Just "packageConfigExtraLibDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "packageConfigExtraLibDirsStatic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "packageConfigExtraFrameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "packageConfigExtraIncludeDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])))) :*: (((S1 ('MetaSel ('Just "packageConfigGHCiLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigSplitSections") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigSplitObjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigStripExes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigStripLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigTests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))) :*: ((((S1 ('MetaSel ('Just "packageConfigRelocatable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "packageConfigDebugInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag DebugInfoLevel)) :*: S1 ('MetaSel ('Just "packageConfigDumpBuildInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag DumpBuildInfo)))) :*: ((S1 ('MetaSel ('Just "packageConfigRunTests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigDocumentation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockHoogle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockHtml") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: (((S1 ('MetaSel ('Just "packageConfigHaddockHtmlLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "packageConfigHaddockForeignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockExecutables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigHaddockBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockInternal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "packageConfigHaddockLinkedSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))) :*: ((((S1 ('MetaSel ('Just "packageConfigHaddockQuickJump") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockHscolourCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockContents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "packageConfigHaddockIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))) :*: ((S1 ('MetaSel ('Just "packageConfigHaddockBaseUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "packageConfigHaddockLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockOutputDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "packageConfigHaddockForHackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag HaddockTarget))))) :*: (((S1 ('MetaSel ('Just "packageConfigTestHumanLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "packageConfigTestMachineLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate))) :*: (S1 ('MetaSel ('Just "packageConfigTestShowDetails") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag TestShowDetails)) :*: S1 ('MetaSel ('Just "packageConfigTestKeepTix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigTestWrapper") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "packageConfigTestFailWhenNoTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigTestTestOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate]) :*: S1 ('MetaSel ('Just "packageConfigBenchmarkOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate]))))))))
Methods from :: PackageConfig -> Rep PackageConfig x # to :: Rep PackageConfig x -> PackageConfig #
Show PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> PackageConfig -> ShowS # show :: PackageConfig -> String # showList :: [PackageConfig] -> ShowS #
Eq PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: PackageConfig -> PackageConfig -> Bool # (/=) :: PackageConfig -> PackageConfig -> Bool #
type Rep PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep PackageConfig = D1 ('MetaData "PackageConfig" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "PackageConfig" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "packageConfigProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MapLast String FilePath)) :*: (S1 ('MetaSel ('Just "packageConfigProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MapMappend String [String])) :*: S1 ('MetaSel ('Just "packageConfigProgramPathExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList FilePath)))) :*: ((S1 ('MetaSel ('Just "packageConfigFlagAssignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagAssignment) :*: S1 ('MetaSel ('Just "packageConfigVanillaLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigSharedLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigStaticLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: (((S1 ('MetaSel ('Just "packageConfigDynExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigFullyStaticExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigProf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigProfLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigProfExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigProfDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ProfDetailLevel))) :*: (S1 ('MetaSel ('Just "packageConfigProfLibDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ProfDetailLevel)) :*: S1 ('MetaSel ('Just "packageConfigConfigureArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))))) :*: (((S1 ('MetaSel ('Just "packageConfigOptimization") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag OptimisationLevel)) :*: (S1 ('MetaSel ('Just "packageConfigProgPrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "packageConfigProgSuffix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))) :*: ((S1 ('MetaSel ('Just "packageConfigExtraLibDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "packageConfigExtraLibDirsStatic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "packageConfigExtraFrameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "packageConfigExtraIncludeDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])))) :*: (((S1 ('MetaSel ('Just "packageConfigGHCiLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigSplitSections") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigSplitObjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigStripExes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigStripLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigTests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))) :*: ((((S1 ('MetaSel ('Just "packageConfigRelocatable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "packageConfigDebugInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag DebugInfoLevel)) :*: S1 ('MetaSel ('Just "packageConfigDumpBuildInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag DumpBuildInfo)))) :*: ((S1 ('MetaSel ('Just "packageConfigRunTests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigDocumentation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockHoogle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockHtml") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: (((S1 ('MetaSel ('Just "packageConfigHaddockHtmlLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "packageConfigHaddockForeignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockExecutables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigHaddockBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockInternal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "packageConfigHaddockLinkedSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))) :*: ((((S1 ('MetaSel ('Just "packageConfigHaddockQuickJump") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "packageConfigHaddockHscolourCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockContents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "packageConfigHaddockIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))) :*: ((S1 ('MetaSel ('Just "packageConfigHaddockBaseUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "packageConfigHaddockLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String))) :*: (S1 ('MetaSel ('Just "packageConfigHaddockOutputDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "packageConfigHaddockForHackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag HaddockTarget))))) :*: (((S1 ('MetaSel ('Just "packageConfigTestHumanLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "packageConfigTestMachineLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate))) :*: (S1 ('MetaSel ('Just "packageConfigTestShowDetails") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag TestShowDetails)) :*: S1 ('MetaSel ('Just "packageConfigTestKeepTix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "packageConfigTestWrapper") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "packageConfigTestFailWhenNoTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "packageConfigTestTestOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate]) :*: S1 ('MetaSel ('Just "packageConfigBenchmarkOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate]))))))))

# Resolving configuration

data SolverSettings #

Resolved configuration for the solver. The idea is that this is easier to use than the raw configuration because in the raw configuration everything is optional (monoidial). In the `BuildTimeSettings` every field is filled in, if only with the defaults.

Use `resolveSolverSettings` to make one from the project config (by applying defaults etc).

Constructors

SolverSettings |
Fields solverSettingRemoteRepos :: [RemoteRepo] Available Hackage servers. solverSettingLocalNoIndexRepos :: [LocalRepo] solverSettingConstraints :: [(UserConstraint, ConstraintSource)] solverSettingPreferences :: [PackageVersionConstraint] solverSettingFlagAssignment :: FlagAssignment For all local packages solverSettingFlagAssignments :: Map PackageName FlagAssignment solverSettingCabalVersion :: Maybe Version solverSettingSolver :: PreSolver solverSettingAllowOlder :: AllowOlder solverSettingAllowNewer :: AllowNewer solverSettingMaxBackjumps :: Maybe Int solverSettingReorderGoals :: ReorderGoals solverSettingCountConflicts :: CountConflicts solverSettingFineGrainedConflicts :: FineGrainedConflicts solverSettingMinimizeConflictSet :: MinimizeConflictSet solverSettingStrongFlags :: StrongFlags solverSettingAllowBootLibInstalls :: AllowBootLibInstalls solverSettingOnlyConstrained :: OnlyConstrained solverSettingIndexState :: Maybe TotalIndexState solverSettingActiveRepos :: Maybe ActiveRepos solverSettingIndependentGoals :: IndependentGoals solverSettingPreferOldest :: PreferOldest

#### Instances

Instances details

Structured SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy SolverSettings -> Structure # structureHash' :: Tagged SolverSettings MD5
Binary SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: SolverSettings -> Put # get :: Get SolverSettings # putList :: [SolverSettings] -> Put #
Generic SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep SolverSettings |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep SolverSettings = D1 ('MetaData "SolverSettings" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "SolverSettings" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "solverSettingRemoteRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RemoteRepo]) :*: S1 ('MetaSel ('Just "solverSettingLocalNoIndexRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LocalRepo])) :*: (S1 ('MetaSel ('Just "solverSettingConstraints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UserConstraint, ConstraintSource)]) :*: (S1 ('MetaSel ('Just "solverSettingPreferences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageVersionConstraint]) :*: S1 ('MetaSel ('Just "solverSettingFlagAssignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagAssignment)))) :*: ((S1 ('MetaSel ('Just "solverSettingFlagAssignments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PackageName FlagAssignment)) :*: (S1 ('MetaSel ('Just "solverSettingCabalVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Version)) :*: S1 ('MetaSel ('Just "solverSettingSolver") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PreSolver))) :*: (S1 ('MetaSel ('Just "solverSettingAllowOlder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowOlder) :*: (S1 ('MetaSel ('Just "solverSettingAllowNewer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowNewer) :*: S1 ('MetaSel ('Just "solverSettingMaxBackjumps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)))))) :*: (((S1 ('MetaSel ('Just "solverSettingReorderGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReorderGoals) :*: S1 ('MetaSel ('Just "solverSettingCountConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CountConflicts)) :*: (S1 ('MetaSel ('Just "solverSettingFineGrainedConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FineGrainedConflicts) :*: (S1 ('MetaSel ('Just "solverSettingMinimizeConflictSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MinimizeConflictSet) :*: S1 ('MetaSel ('Just "solverSettingStrongFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StrongFlags)))) :*: ((S1 ('MetaSel ('Just "solverSettingAllowBootLibInstalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowBootLibInstalls) :*: (S1 ('MetaSel ('Just "solverSettingOnlyConstrained") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OnlyConstrained) :*: S1 ('MetaSel ('Just "solverSettingIndexState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TotalIndexState)))) :*: (S1 ('MetaSel ('Just "solverSettingActiveRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ActiveRepos)) :*: (S1 ('MetaSel ('Just "solverSettingIndependentGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IndependentGoals) :*: S1 ('MetaSel ('Just "solverSettingPreferOldest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PreferOldest)))))))
Methods from :: SolverSettings -> Rep SolverSettings x # to :: Rep SolverSettings x -> SolverSettings #
Show SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> SolverSettings -> ShowS # show :: SolverSettings -> String # showList :: [SolverSettings] -> ShowS #
Eq SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: SolverSettings -> SolverSettings -> Bool # (/=) :: SolverSettings -> SolverSettings -> Bool #
type Rep SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep SolverSettings = D1 ('MetaData "SolverSettings" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "SolverSettings" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "solverSettingRemoteRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RemoteRepo]) :*: S1 ('MetaSel ('Just "solverSettingLocalNoIndexRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LocalRepo])) :*: (S1 ('MetaSel ('Just "solverSettingConstraints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UserConstraint, ConstraintSource)]) :*: (S1 ('MetaSel ('Just "solverSettingPreferences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageVersionConstraint]) :*: S1 ('MetaSel ('Just "solverSettingFlagAssignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagAssignment)))) :*: ((S1 ('MetaSel ('Just "solverSettingFlagAssignments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PackageName FlagAssignment)) :*: (S1 ('MetaSel ('Just "solverSettingCabalVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Version)) :*: S1 ('MetaSel ('Just "solverSettingSolver") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PreSolver))) :*: (S1 ('MetaSel ('Just "solverSettingAllowOlder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowOlder) :*: (S1 ('MetaSel ('Just "solverSettingAllowNewer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowNewer) :*: S1 ('MetaSel ('Just "solverSettingMaxBackjumps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)))))) :*: (((S1 ('MetaSel ('Just "solverSettingReorderGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReorderGoals) :*: S1 ('MetaSel ('Just "solverSettingCountConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CountConflicts)) :*: (S1 ('MetaSel ('Just "solverSettingFineGrainedConflicts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FineGrainedConflicts) :*: (S1 ('MetaSel ('Just "solverSettingMinimizeConflictSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MinimizeConflictSet) :*: S1 ('MetaSel ('Just "solverSettingStrongFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StrongFlags)))) :*: ((S1 ('MetaSel ('Just "solverSettingAllowBootLibInstalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowBootLibInstalls) :*: (S1 ('MetaSel ('Just "solverSettingOnlyConstrained") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OnlyConstrained) :*: S1 ('MetaSel ('Just "solverSettingIndexState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TotalIndexState)))) :*: (S1 ('MetaSel ('Just "solverSettingActiveRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ActiveRepos)) :*: (S1 ('MetaSel ('Just "solverSettingIndependentGoals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IndependentGoals) :*: S1 ('MetaSel ('Just "solverSettingPreferOldest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PreferOldest)))))))

data BuildTimeSettings #

Resolved configuration for things that affect how we build and not the value of the things we build. The idea is that this is easier to use than the raw configuration because in the raw configuration everything is optional (monoidial). In the `BuildTimeSettings` every field is filled in, if only with the defaults.

Use `resolveBuildTimeSettings` to make one from the project config (by applying defaults etc).

Constructors

BuildTimeSettings |
Fields buildSettingDryRun :: Bool buildSettingOnlyDeps :: Bool buildSettingOnlyDownload :: Bool buildSettingSummaryFile :: [PathTemplate] buildSettingLogFile :: Maybe (Compiler -> Platform -> PackageId -> UnitId -> FilePath) buildSettingLogVerbosity :: Verbosity buildSettingBuildReports :: ReportLevel buildSettingReportPlanningFailure :: Bool buildSettingSymlinkBinDir :: [FilePath] buildSettingNumJobs :: ParStratInstall buildSettingKeepGoing :: Bool buildSettingOfflineMode :: Bool buildSettingKeepTempFiles :: Bool buildSettingRemoteRepos :: [RemoteRepo] buildSettingLocalNoIndexRepos :: [LocalRepo] buildSettingCacheDir :: FilePath buildSettingHttpTransport :: Maybe String buildSettingIgnoreExpiry :: Bool buildSettingProgPathExtra :: [FilePath] buildSettingHaddockOpen :: Bool

data ParStratX sem #

How to control parallelism, e.g. a fixed number of jobs or by using a system semaphore.

Constructors

NumJobs (Maybe Int) | Compile in parallel with the given number of jobs (`-jN` or `-j`).
UseSem sem | `--semaphore`: use a system semaphore to control parallelism.
Serial | No parallelism (neither `-jN` nor `--semaphore`, but could be `-j1`).

#### Instances

Instances details

Show sem => Show (ParStratX sem) |
Instance details Defined in Distribution.Types.ParStrat Methods showsPrec :: Int -> ParStratX sem -> ShowS # show :: ParStratX sem -> String # showList :: [ParStratX sem] -> ShowS #

isParallelBuild :: ParStratX n -> Bool #

Determine if the parallelism strategy enables parallel builds.

type ParStrat = ParStratX String #

Used by Cabal to indicate that we want to use this specific semaphore (created by cabal-install)

# Extra useful Monoids

newtype MapLast k v #

Newtype wrapper for `Map` that provides a `Monoid` instance that takes the last value rather than the first value for overlapping keys.

Constructors

MapLast |
Fields getMapLast :: Map k v

#### Instances

Instances details

Functor (MapLast k) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods fmap :: (a -> b) -> MapLast k a -> MapLast k b # (<$) :: a -> MapLast k b -> MapLast k a #
(Structured k, Structured v) => Structured (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy (MapLast k v) -> Structure # structureHash' :: Tagged (MapLast k v) MD5
(Binary k, Binary v) => Binary (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: MapLast k v -> Put # get :: Get (MapLast k v) # putList :: [MapLast k v] -> Put #
Ord k => Monoid (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods mempty :: MapLast k v # mappend :: MapLast k v -> MapLast k v -> MapLast k v # mconcat :: [MapLast k v] -> MapLast k v #
Ord k => Semigroup (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (<>) :: MapLast k v -> MapLast k v -> MapLast k v # sconcat :: NonEmpty (MapLast k v) -> MapLast k v # stimes :: Integral b => b -> MapLast k v -> MapLast k v #
Generic (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep (MapLast k v) |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep (MapLast k v) = D1 ('MetaData "MapLast" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'True) (C1 ('MetaCons "MapLast" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMapLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map k v))))
Methods from :: MapLast k v -> Rep (MapLast k v) x # to :: Rep (MapLast k v) x -> MapLast k v #
(Show k, Show v) => Show (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> MapLast k v -> ShowS # show :: MapLast k v -> String # showList :: [MapLast k v] -> ShowS #
(Eq k, Eq v) => Eq (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: MapLast k v -> MapLast k v -> Bool # (/=) :: MapLast k v -> MapLast k v -> Bool #
type Rep (MapLast k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep (MapLast k v) = D1 ('MetaData "MapLast" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'True) (C1 ('MetaCons "MapLast" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMapLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map k v))))

newtype MapMappend k v #

Newtype wrapper for `Map` that provides a `Monoid` instance that `mappend`s values of overlapping keys rather than taking the first.

Constructors

MapMappend |
Fields getMapMappend :: Map k v

#### Instances

Instances details

Functor (MapMappend k) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods fmap :: (a -> b) -> MapMappend k a -> MapMappend k b # (<$) :: a -> MapMappend k b -> MapMappend k a #
(Structured k, Structured v) => Structured (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy (MapMappend k v) -> Structure # structureHash' :: Tagged (MapMappend k v) MD5
(Binary k, Binary v) => Binary (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: MapMappend k v -> Put # get :: Get (MapMappend k v) # putList :: [MapMappend k v] -> Put #
(Semigroup v, Ord k) => Monoid (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods mempty :: MapMappend k v # mappend :: MapMappend k v -> MapMappend k v -> MapMappend k v # mconcat :: [MapMappend k v] -> MapMappend k v #
(Semigroup v, Ord k) => Semigroup (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (<>) :: MapMappend k v -> MapMappend k v -> MapMappend k v # sconcat :: NonEmpty (MapMappend k v) -> MapMappend k v # stimes :: Integral b => b -> MapMappend k v -> MapMappend k v #
Generic (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Associated Types
type Rep (MapMappend k v) |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep (MapMappend k v) = D1 ('MetaData "MapMappend" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'True) (C1 ('MetaCons "MapMappend" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMapMappend") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map k v))))
Methods from :: MapMappend k v -> Rep (MapMappend k v) x # to :: Rep (MapMappend k v) x -> MapMappend k v #
(Show k, Show v) => Show (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods showsPrec :: Int -> MapMappend k v -> ShowS # show :: MapMappend k v -> String # showList :: [MapMappend k v] -> ShowS #
(Eq k, Eq v) => Eq (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods (==) :: MapMappend k v -> MapMappend k v -> Bool # (/=) :: MapMappend k v -> MapMappend k v -> Bool #
type Rep (MapMappend k v) # |
Instance details Defined in Distribution.Client.ProjectConfig.Types type Rep (MapMappend k v) = D1 ('MetaData "MapMappend" "Distribution.Client.ProjectConfig.Types" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'True) (C1 ('MetaCons "MapMappend" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMapMappend") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map k v))))