Distribution.Client.Types.SourceRepo

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

Safe Haskell | None
Language | Haskell2010

Distribution.Client.Types.SourceRepo

Synopsis

- data SourceRepositoryPackage (f :: Type -> Type) = SourceRepositoryPackage {
  - srpType :: !RepoType
  - srpLocation :: !String
  - srpTag :: !(Maybe String)
  - srpBranch :: !(Maybe String)
  - srpSubdir :: !(f FilePath)
  - srpCommand :: ![String]
  }
- type SourceRepoList = SourceRepositoryPackage []
- type SourceRepoMaybe = SourceRepositoryPackage Maybe
- type SourceRepoProxy = SourceRepositoryPackage (Proxy :: Type -> Type)
- srpHoist :: (forall x. f x -> g x) -> SourceRepositoryPackage f -> SourceRepositoryPackage g
- srpToProxy :: forall (f :: Type -> Type). SourceRepositoryPackage f -> SourceRepositoryPackage (Proxy :: Type -> Type)
- srpFanOut :: SourceRepositoryPackage [] -> NonEmpty (SourceRepositoryPackage Maybe)
- sourceRepositoryPackageGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g SourceRepoList), c (Identity RepoType), c (List NoCommaFSep FilePathNT String), c (NonEmpty' NoCommaFSep Token String)) => g SourceRepoList SourceRepoList

# Documentation

data SourceRepositoryPackage (f :: Type -> Type) #

`source-repository-package` definition

Constructors

SourceRepositoryPackage |
Fields srpType :: !RepoType srpLocation :: !String srpTag :: !(Maybe String) srpBranch :: !(Maybe String) srpSubdir :: !(f FilePath) srpCommand :: ![String]

#### Instances

Instances details

(Typeable f, Structured (f FilePath)) => Structured (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo Methods structure :: Proxy (SourceRepositoryPackage f) -> Structure # structureHash' :: Tagged (SourceRepositoryPackage f) MD5
Binary (f FilePath) => Binary (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo Methods put :: SourceRepositoryPackage f -> Put # get :: Get (SourceRepositoryPackage f) # putList :: [SourceRepositoryPackage f] -> Put #
Generic (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo Associated Types
type Rep (SourceRepositoryPackage f) |
Instance details Defined in Distribution.Client.Types.SourceRepo type Rep (SourceRepositoryPackage f) = D1 ('MetaData "SourceRepositoryPackage" "Distribution.Client.Types.SourceRepo" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "SourceRepositoryPackage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "srpType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RepoType) :*: (S1 ('MetaSel ('Just "srpLocation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String) :*: S1 ('MetaSel ('Just "srpTag") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe String)))) :*: (S1 ('MetaSel ('Just "srpBranch") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Just "srpSubdir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (f FilePath)) :*: S1 ('MetaSel ('Just "srpCommand") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [String])))))
Methods from :: SourceRepositoryPackage f -> Rep (SourceRepositoryPackage f) x # to :: Rep (SourceRepositoryPackage f) x -> SourceRepositoryPackage f #
Show (f FilePath) => Show (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo Methods showsPrec :: Int -> SourceRepositoryPackage f -> ShowS # show :: SourceRepositoryPackage f -> String # showList :: [SourceRepositoryPackage f] -> ShowS #
Eq (f FilePath) => Eq (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo Methods (==) :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Bool # (/=) :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Bool #
Ord (f FilePath) => Ord (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo Methods compare :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Ordering # (<) :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Bool # (<=) :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Bool # (>) :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Bool # (>=) :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> Bool # max :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> SourceRepositoryPackage f # min :: SourceRepositoryPackage f -> SourceRepositoryPackage f -> SourceRepositoryPackage f #
type Rep (SourceRepositoryPackage f) # |
Instance details Defined in Distribution.Client.Types.SourceRepo type Rep (SourceRepositoryPackage f) = D1 ('MetaData "SourceRepositoryPackage" "Distribution.Client.Types.SourceRepo" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "SourceRepositoryPackage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "srpType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RepoType) :*: (S1 ('MetaSel ('Just "srpLocation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String) :*: S1 ('MetaSel ('Just "srpTag") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe String)))) :*: (S1 ('MetaSel ('Just "srpBranch") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Just "srpSubdir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (f FilePath)) :*: S1 ('MetaSel ('Just "srpCommand") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [String])))))

type SourceRepoList = SourceRepositoryPackage [] #

Read from `cabal.project`

type SourceRepoMaybe = SourceRepositoryPackage Maybe #

Distilled from `SourceRepo`

type SourceRepoProxy = SourceRepositoryPackage (Proxy :: Type -> Type) #

`SourceRepositoryPackage` without subdir. Used in clone errors. Cloning doesn't care about subdirectory.

srpHoist :: (forall x. f x -> g x) -> SourceRepositoryPackage f -> SourceRepositoryPackage g #

srpToProxy :: forall (f :: Type -> Type). SourceRepositoryPackage f -> SourceRepositoryPackage (Proxy :: Type -> Type) #

srpFanOut :: SourceRepositoryPackage [] -> NonEmpty (SourceRepositoryPackage Maybe) #

Split single `source-repository-package` declaration with multiple subdirs, into multiple ones with at most single subdir.

sourceRepositoryPackageGrammar :: forall (c :: Type -> Constraint) g. (FieldGrammar c g, Applicative (g SourceRepoList), c (Identity RepoType), c (List NoCommaFSep FilePathNT String), c (NonEmpty' NoCommaFSep Token String)) => g SourceRepoList SourceRepoList #