Safe Haskell | None |
---|---|
Language | Haskell2010 |
GenericPackageDescription
Field descriptions
Synopsis
- packageDescriptionFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g PackageDescription), Applicative (g PackageIdentifier), c (Identity BuildType), c (Identity PackageName), c (Identity Version), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (RelativePathNT from to) (RelativePath from to)), c (List FSep TestedWith (CompilerFlavor, VersionRange)), c CompatLicenseFile, c CompatDataDir) => g PackageDescription PackageDescription
- newtype CompatDataDir = CompatDataDir {}
- newtype CompatLicenseFile = CompatLicenseFile {}
- libraryFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g Library), Applicative (g BuildInfo), c (Identity LibraryVisibility), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List CommaVCat (Identity ModuleReexport) ModuleReexport), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), c (List VCat Token String), c (MQuoted Language)) => LibraryName -> g Library Library
- foreignLibFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g ForeignLib), Applicative (g BuildInfo), c (Identity ForeignLibType), c (Identity LibVersionInfo), c (Identity Version), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (Identity ForeignLibOption) ForeignLibOption), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), c (List VCat Token String), c (MQuoted Language)) => UnqualComponentName -> g ForeignLib ForeignLib
- executableFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g Executable), Applicative (g BuildInfo), c (Identity ExecutableScope), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (SymbolicPathNT from to), forall from (to :: FileOrDir). c (RelativePathNT from to), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), c (List VCat Token String), c (MQuoted Language)) => UnqualComponentName -> g Executable Executable
- data TestSuiteStanza = TestSuiteStanza {}
- testSuiteFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g TestSuiteStanza), Applicative (g BuildInfo), c (Identity ModuleName), c (Identity TestType), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaFSep Token String), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (RelativePathNT from to), c (List VCat Token String), c (MQuoted Language)) => g TestSuiteStanza TestSuiteStanza
- validateTestSuite :: CabalSpecVersion -> Position -> TestSuiteStanza -> ParseResult TestSuite
- unvalidateTestSuite :: TestSuite -> TestSuiteStanza
- testStanzaTestType :: Lens' TestSuiteStanza (Maybe TestType)
- testStanzaMainIs :: Lens' TestSuiteStanza (Maybe (RelativePath Source 'File))
- testStanzaTestModule :: Lens' TestSuiteStanza (Maybe ModuleName)
- testStanzaBuildInfo :: Lens' TestSuiteStanza BuildInfo
- data BenchmarkStanza = BenchmarkStanza {}
- benchmarkFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g BenchmarkStanza), Applicative (g BuildInfo), c (Identity BenchmarkType), c (Identity ModuleName), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (RelativePathNT from to), c (List VCat Token String), c (MQuoted Language)) => g BenchmarkStanza BenchmarkStanza
- validateBenchmark :: CabalSpecVersion -> Position -> BenchmarkStanza -> ParseResult Benchmark
- unvalidateBenchmark :: Benchmark -> BenchmarkStanza
- formatDependencyList :: [Dependency] -> List CommaVCat (Identity Dependency) Dependency
- formatExposedModules :: [ModuleName] -> List VCat (MQuoted ModuleName) ModuleName
- formatExtraSourceFiles :: [RelativePath Pkg 'File] -> List VCat (RelativePathNT Pkg 'File) (RelativePath Pkg 'File)
- formatHsSourceDirs :: [SymbolicPath Pkg ('Dir Source)] -> List FSep (SymbolicPathNT Pkg ('Dir Source)) (SymbolicPath Pkg ('Dir Source))
- formatMixinList :: [Mixin] -> List CommaVCat (Identity Mixin) Mixin
- formatOtherExtensions :: [Extension] -> List FSep (MQuoted Extension) Extension
- formatOtherModules :: [ModuleName] -> List VCat (MQuoted ModuleName) ModuleName
- benchmarkStanzaBenchmarkType :: Lens' BenchmarkStanza (Maybe BenchmarkType)
- benchmarkStanzaMainIs :: Lens' BenchmarkStanza (Maybe (RelativePath Source 'File))
- benchmarkStanzaBenchmarkModule :: Lens' BenchmarkStanza (Maybe ModuleName)
- benchmarkStanzaBuildInfo :: Lens' BenchmarkStanza BuildInfo
- flagFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g PackageFlag)) => FlagName -> g PackageFlag PackageFlag
- sourceRepoFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g SourceRepo), c (Identity RepoType), c Token, c FilePathNT) => RepoKind -> g SourceRepo SourceRepo
- setupBInfoFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Functor (g SetupBuildInfo), c (List CommaVCat (Identity Dependency) Dependency)) => Bool -> g SetupBuildInfo SetupBuildInfo
- buildInfoFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g BuildInfo), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), c (List VCat Token String), c (MQuoted Language)) => g BuildInfo BuildInfo
Package description
packageDescriptionFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g PackageDescription), Applicative (g PackageIdentifier), c (Identity BuildType), c (Identity PackageName), c (Identity Version), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (RelativePathNT from to) (RelativePath from to)), c (List FSep TestedWith (CompilerFlavor, VersionRange)), c CompatLicenseFile, c CompatDataDir) => g PackageDescription PackageDescription Source #
newtype CompatDataDir Source #
Newtype for data directory (absolute or relative).
Accepts empty file path, but issues a warning; there are simply too many (~1200) package definition files
data-dir: ""
across Hackage to outrule them completely. I suspect some of them are generated (e.g. formatted) by machine.
Instances
Parsec CompatDataDir Source # | |
Defined in Distribution.PackageDescription.FieldGrammar parsec :: CabalParsing m => m CompatDataDir Source # | |
Pretty CompatDataDir Source # | |
Defined in Distribution.PackageDescription.FieldGrammar pretty :: CompatDataDir -> Doc Source # prettyVersioned :: CabalSpecVersion -> CompatDataDir -> Doc Source # | |
Newtype (SymbolicPath Pkg ('Dir DataDir)) CompatDataDir Source # | |
Defined in Distribution.PackageDescription.FieldGrammar pack :: SymbolicPath Pkg ('Dir DataDir) -> CompatDataDir Source # unpack :: CompatDataDir -> SymbolicPath Pkg ('Dir DataDir) Source # |
newtype CompatLicenseFile Source #
Instances
Parsec CompatLicenseFile Source # | |
Defined in Distribution.PackageDescription.FieldGrammar parsec :: CabalParsing m => m CompatLicenseFile Source # | |
Pretty CompatLicenseFile Source # | |
Defined in Distribution.PackageDescription.FieldGrammar pretty :: CompatLicenseFile -> Doc Source # prettyVersioned :: CabalSpecVersion -> CompatLicenseFile -> Doc Source # | |
Newtype [RelativePath Pkg 'File] CompatLicenseFile Source # | |
Defined in Distribution.PackageDescription.FieldGrammar pack :: [RelativePath Pkg 'File] -> CompatLicenseFile Source # unpack :: CompatLicenseFile -> [RelativePath Pkg 'File] Source # |
Library
libraryFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g Library), Applicative (g BuildInfo), c (Identity LibraryVisibility), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List CommaVCat (Identity ModuleReexport) ModuleReexport), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), c (List VCat Token String), c (MQuoted Language)) => LibraryName -> g Library Library Source #
Foreign library
foreignLibFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g ForeignLib), Applicative (g BuildInfo), c (Identity ForeignLibType), c (Identity LibVersionInfo), c (Identity Version), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (Identity ForeignLibOption) ForeignLibOption), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), c (List VCat Token String), c (MQuoted Language)) => UnqualComponentName -> g ForeignLib ForeignLib Source #
Executable
executableFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g Executable), Applicative (g BuildInfo), c (Identity ExecutableScope), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (SymbolicPathNT from to), forall from (to :: FileOrDir). c (RelativePathNT from to), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), c (List VCat Token String), c (MQuoted Language)) => UnqualComponentName -> g Executable Executable Source #
Test suite
data TestSuiteStanza Source #
An intermediate type just used for parsing the test-suite stanza.
After validation it is converted into the proper TestSuite
type.
Instances
testSuiteFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g TestSuiteStanza), Applicative (g BuildInfo), c (Identity ModuleName), c (Identity TestType), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaFSep Token String), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (RelativePathNT from to), c (List VCat Token String), c (MQuoted Language)) => g TestSuiteStanza TestSuiteStanza Source #
validateTestSuite :: CabalSpecVersion -> Position -> TestSuiteStanza -> ParseResult TestSuite Source #
Lenses
Benchmark
data BenchmarkStanza Source #
An intermediate type just used for parsing the benchmark stanza.
After validation it is converted into the proper Benchmark
type.
Instances
benchmarkFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g BenchmarkStanza), Applicative (g BuildInfo), c (Identity BenchmarkType), c (Identity ModuleName), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (RelativePathNT from to), c (List VCat Token String), c (MQuoted Language)) => g BenchmarkStanza BenchmarkStanza Source #
validateBenchmark :: CabalSpecVersion -> Position -> BenchmarkStanza -> ParseResult Benchmark Source #
Field grammars
formatExposedModules :: [ModuleName] -> List VCat (MQuoted ModuleName) ModuleName Source #
formatExtraSourceFiles :: [RelativePath Pkg 'File] -> List VCat (RelativePathNT Pkg 'File) (RelativePath Pkg 'File) Source #
formatHsSourceDirs :: [SymbolicPath Pkg ('Dir Source)] -> List FSep (SymbolicPathNT Pkg ('Dir Source)) (SymbolicPath Pkg ('Dir Source)) Source #
formatOtherModules :: [ModuleName] -> List VCat (MQuoted ModuleName) ModuleName Source #
Lenses
Flag
flagFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g PackageFlag)) => FlagName -> g PackageFlag PackageFlag Source #
Source repository
sourceRepoFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g SourceRepo), c (Identity RepoType), c Token, c FilePathNT) => RepoKind -> g SourceRepo SourceRepo Source #
Setup build info
setupBInfoFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Functor (g SetupBuildInfo), c (List CommaVCat (Identity Dependency) Dependency)) => Bool -> g SetupBuildInfo SetupBuildInfo Source #
Component build info
buildInfoFieldGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g BuildInfo), c (List CommaFSep (Identity ExeDependency) ExeDependency), c (List CommaFSep (Identity LegacyExeDependency) LegacyExeDependency), c (List CommaFSep (Identity PkgconfigDependency) PkgconfigDependency), c (List CommaVCat (Identity Dependency) Dependency), c (List CommaVCat (Identity Mixin) Mixin), c (List FSep (MQuoted Extension) Extension), c (List FSep (MQuoted Language) Language), c (List FSep Token String), c (List NoCommaFSep Token' String), c (List VCat (MQuoted ModuleName) ModuleName), forall from (to :: FileOrDir). c (List FSep (SymbolicPathNT from to) (SymbolicPath from to)), forall from (to :: FileOrDir). c (List FSep (RelativePathNT from to) (RelativePath from to)), forall from (to :: FileOrDir). c (List VCat (SymbolicPathNT from to) (SymbolicPath from to)), c (List VCat Token String), c (MQuoted Language)) => g BuildInfo BuildInfo Source #