cabal-install-3.10.2.1: 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
  }
- 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)
  - 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
  - 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
  }
- data ProjectConfigProvenance
  - = Implicit
  - | Explicit FilePath
- 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
  - 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 :: Int
  - buildSettingKeepGoing :: Bool
  - buildSettingOfflineMode :: Bool
  - buildSettingKeepTempFiles :: Bool
  - buildSettingRemoteRepos :: [RemoteRepo]
  - buildSettingLocalNoIndexRepos :: [LocalRepo]
  - buildSettingCacheDir :: FilePath
  - buildSettingHttpTransport :: Maybe String
  - buildSettingIgnoreExpiry :: Bool
  - buildSettingProgPathExtra :: [FilePath]
  - buildSettingHaddockOpen :: Bool
  }
- 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
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 #
Binary ProjectConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfig -> Put # get :: Get ProjectConfig # putList :: [ProjectConfig] -> Put #
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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)))))))

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)
- 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
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 "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 #
Binary ProjectConfigBuildOnly # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfigBuildOnly -> Put # get :: Get ProjectConfigBuildOnly # putList :: [ProjectConfigBuildOnly] -> Put #
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 "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
- 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

#### Instances

Instances details

Structured ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy ProjectConfigShared -> Structure # structureHash' :: Tagged ProjectConfigShared MD5
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 "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)))))))))

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 #
Binary ProjectConfigShared # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfigShared -> Put # get :: Get ProjectConfigShared # putList :: [ProjectConfigShared] -> Put #
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 "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)))))))))

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 FilePath | The path the project configuration was explicitly read from. | The configuration was explicitly read from the specified `FilePath`.

#### Instances

Instances details

Structured ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods structure :: Proxy ProjectConfigProvenance -> Structure # structureHash' :: Tagged ProjectConfigProvenance MD5
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" 'False) (C1 ('MetaCons "Implicit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Explicit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)))

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 #
Binary ProjectConfigProvenance # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: ProjectConfigProvenance -> Put # get :: Get ProjectConfigProvenance # putList :: [ProjectConfigProvenance] -> Put #
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" 'False) (C1 ('MetaCons "Implicit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Explicit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)))

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
- 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
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 "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 #
Binary PackageConfig # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: PackageConfig -> Put # get :: Get PackageConfig # putList :: [PackageConfig] -> Put #
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 "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
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 #
Binary SolverSettings # |
Instance details Defined in Distribution.Client.ProjectConfig.Types Methods put :: SolverSettings -> Put # get :: Get SolverSettings # putList :: [SolverSettings] -> Put #
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 :: Int
- buildSettingKeepGoing :: Bool
- buildSettingOfflineMode :: Bool
- buildSettingKeepTempFiles :: Bool
- buildSettingRemoteRepos :: [RemoteRepo]
- buildSettingLocalNoIndexRepos :: [LocalRepo]
- buildSettingCacheDir :: FilePath
- buildSettingHttpTransport :: Maybe String
- buildSettingIgnoreExpiry :: Bool
- buildSettingProgPathExtra :: [FilePath]
- buildSettingHaddockOpen :: Bool

# 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
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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 #
(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 #
(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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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
(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.10.2.1-EH6AEtqwlbKE3rh89dIk81" '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 #
(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 #
(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.10.2.1-EH6AEtqwlbKE3rh89dIk81" 'True) (C1 ('MetaCons "MapMappend" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMapMappend") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map k v))))