Cabal-syntax-3.12.1.0: A library for working with .cabal files

Safe Haskell | None
Language | Haskell2010

Distribution.Types.SourceRepo

Synopsis

- data SourceRepo = SourceRepo {
  - repoKind :: RepoKind
  - repoType :: Maybe RepoType
  - repoLocation :: Maybe String
  - repoModule :: Maybe String
  - repoBranch :: Maybe String
  - repoTag :: Maybe String
  - repoSubdir :: Maybe FilePath
  }
- data RepoKind
  - = RepoHead
  - | RepoThis
  - | RepoKindUnknown String
- data RepoType
  - = KnownRepoType KnownRepoType
  - | OtherRepoType String
- data KnownRepoType
  - = Darcs
  - | Git
  - | SVN
  - | CVS
  - | Mercurial
  - | GnuArch
  - | Bazaar
  - | Monotone
  - | Pijul
- knownRepoTypes :: [KnownRepoType]
- emptySourceRepo :: RepoKind -> SourceRepo
- classifyRepoType :: String -> RepoType
- classifyRepoKind :: String -> RepoKind

# Documentation

data SourceRepo Source #

Information about the source revision control system for a package.

When specifying a repo it is useful to know the meaning or intention of the information as doing so enables automation. There are two obvious common purposes: one is to find the repo for the latest development version, the other is to find the repo for this specific release. The `ReopKind` specifies which one we mean (or another custom one).

A package can specify one or the other kind or both. Most will specify just a head repo but some may want to specify a repo to reconstruct the sources for this package release.

The required information is the `RepoType` which tells us if it's using `Darcs`, `Git` for example. The `repoLocation` and other details are interpreted according to the repo type.

Constructors

SourceRepo |

Fields

- repoKind :: RepoKind

  The kind of repo. This field is required.

- repoType :: Maybe RepoType

  The type of the source repository system for this repo, eg `Darcs` or `Git`. This field is required.

- repoLocation :: Maybe String

  The location of the repository. For most `RepoType`s this is a URL. This field is required.

- repoModule :: Maybe String

  `CVS` can put multiple "modules" on one server and requires a module name in addition to the location to identify a particular repo. Logically this is part of the location but unfortunately has to be specified separately. This field is required for the `CVS` `RepoType` and should not be given otherwise.

- repoBranch :: Maybe String

  The name or identifier of the branch, if any. Many source control systems have the notion of multiple branches in a repo that exist in the same location. For example `Git` and `CVS` use this while systems like `Darcs` use different locations for different branches. This field is optional but should be used if necessary to identify the sources, especially for the `RepoThis` repo kind.

- repoTag :: Maybe String

  The tag identify a particular state of the repository. This should be given for the `RepoThis` repo kind and not for `RepoHead` kind.

- repoSubdir :: Maybe FilePath

  Some repositories contain multiple projects in different subdirectories This field specifies the subdirectory where this packages sources can be found, eg the subdirectory containing the `.cabal` file. It is interpreted relative to the root of the repository. This field is optional. If not given the default is "." ie no subdirectory.

#### Instances

Instances details

Structured SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods structure :: Proxy SourceRepo -> Structure Source # structureHash' :: Tagged SourceRepo MD5
Binary SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods put :: SourceRepo -> Put Source # get :: Get SourceRepo Source # putList :: [SourceRepo] -> Put Source #
NFData SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods rnf :: SourceRepo -> () Source #
Data SourceRepo Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceRepo -> c SourceRepo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceRepo #

toConstr :: SourceRepo -> Constr #

dataTypeOf :: SourceRepo -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceRepo) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceRepo) #

gmapT :: (forall b. Data b => b -> b) -> SourceRepo -> SourceRepo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceRepo -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceRepo -> r #

gmapQ :: (forall d. Data d => d -> u) -> SourceRepo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceRepo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceRepo -> m SourceRepo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceRepo -> m SourceRepo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceRepo -> m SourceRepo #

Generic SourceRepo Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Associated Types

type Rep SourceRepo |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep SourceRepo = D1 ('MetaData "SourceRepo" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "SourceRepo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "repoKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RepoKind) :*: (S1 ('MetaSel ('Just "repoType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RepoType)) :*: S1 ('MetaSel ('Just "repoLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :*: ((S1 ('MetaSel ('Just "repoModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "repoBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "repoTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "repoSubdir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))))))

Methods

from :: SourceRepo -> Rep SourceRepo x #

to :: Rep SourceRepo x -> SourceRepo #

Read SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods readsPrec :: Int -> ReadS SourceRepo # readList :: ReadS [SourceRepo] # readPrec :: ReadPrec SourceRepo # readListPrec :: ReadPrec [SourceRepo] #
Show SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods showsPrec :: Int -> SourceRepo -> ShowS # show :: SourceRepo -> String # showList :: [SourceRepo] -> ShowS #
Eq SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods (==) :: SourceRepo -> SourceRepo -> Bool # (/=) :: SourceRepo -> SourceRepo -> Bool #
Ord SourceRepo Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods compare :: SourceRepo -> SourceRepo -> Ordering # (<) :: SourceRepo -> SourceRepo -> Bool # (<=) :: SourceRepo -> SourceRepo -> Bool # (>) :: SourceRepo -> SourceRepo -> Bool # (>=) :: SourceRepo -> SourceRepo -> Bool # max :: SourceRepo -> SourceRepo -> SourceRepo # min :: SourceRepo -> SourceRepo -> SourceRepo #
type Rep SourceRepo Source # |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep SourceRepo = D1 ('MetaData "SourceRepo" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "SourceRepo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "repoKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RepoKind) :*: (S1 ('MetaSel ('Just "repoType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RepoType)) :*: S1 ('MetaSel ('Just "repoLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :*: ((S1 ('MetaSel ('Just "repoModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "repoBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "repoTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "repoSubdir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))))))

data RepoKind Source #

What this repo info is for, what it represents.

Constructors

RepoHead | The repository for the "head" or development version of the project. This repo is where we should track the latest development activity or the usual repo people should get to contribute patches.
RepoThis | The repository containing the sources for this exact package version or release. For this kind of repo a tag should be given to give enough information to re-create the exact sources.
RepoKindUnknown String |

#### Instances

Instances details

Parsec RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m RepoKind Source #
Pretty RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods pretty :: RepoKind -> Doc Source # prettyVersioned :: CabalSpecVersion -> RepoKind -> Doc Source #
Structured RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods structure :: Proxy RepoKind -> Structure Source # structureHash' :: Tagged RepoKind MD5
Binary RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods put :: RepoKind -> Put Source # get :: Get RepoKind Source # putList :: [RepoKind] -> Put Source #
NFData RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods rnf :: RepoKind -> () Source #
Data RepoKind Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RepoKind -> c RepoKind #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RepoKind #

toConstr :: RepoKind -> Constr #

dataTypeOf :: RepoKind -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RepoKind) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RepoKind) #

gmapT :: (forall b. Data b => b -> b) -> RepoKind -> RepoKind #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RepoKind -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RepoKind -> r #

gmapQ :: (forall d. Data d => d -> u) -> RepoKind -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RepoKind -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RepoKind -> m RepoKind #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RepoKind -> m RepoKind #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RepoKind -> m RepoKind #

Generic RepoKind Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Associated Types

type Rep RepoKind |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep RepoKind = D1 ('MetaData "RepoKind" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "RepoHead" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RepoThis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RepoKindUnknown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

Methods

from :: RepoKind -> Rep RepoKind x #

to :: Rep RepoKind x -> RepoKind #

Read RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods readsPrec :: Int -> ReadS RepoKind # readList :: ReadS [RepoKind] # readPrec :: ReadPrec RepoKind # readListPrec :: ReadPrec [RepoKind] #
Show RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods showsPrec :: Int -> RepoKind -> ShowS # show :: RepoKind -> String # showList :: [RepoKind] -> ShowS #
Eq RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods (==) :: RepoKind -> RepoKind -> Bool # (/=) :: RepoKind -> RepoKind -> Bool #
Ord RepoKind Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods compare :: RepoKind -> RepoKind -> Ordering # (<) :: RepoKind -> RepoKind -> Bool # (<=) :: RepoKind -> RepoKind -> Bool # (>) :: RepoKind -> RepoKind -> Bool # (>=) :: RepoKind -> RepoKind -> Bool # max :: RepoKind -> RepoKind -> RepoKind # min :: RepoKind -> RepoKind -> RepoKind #
type Rep RepoKind Source # |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep RepoKind = D1 ('MetaData "RepoKind" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "RepoHead" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RepoThis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RepoKindUnknown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

data RepoType Source #

Constructors

KnownRepoType KnownRepoType |
OtherRepoType String |

#### Instances

Instances details

Parsec RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m RepoType Source #
Pretty RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods pretty :: RepoType -> Doc Source # prettyVersioned :: CabalSpecVersion -> RepoType -> Doc Source #
Structured RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods structure :: Proxy RepoType -> Structure Source # structureHash' :: Tagged RepoType MD5
Binary RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods put :: RepoType -> Put Source # get :: Get RepoType Source # putList :: [RepoType] -> Put Source #
NFData RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods rnf :: RepoType -> () Source #
Data RepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RepoType -> c RepoType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RepoType #

toConstr :: RepoType -> Constr #

dataTypeOf :: RepoType -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RepoType) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RepoType) #

gmapT :: (forall b. Data b => b -> b) -> RepoType -> RepoType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RepoType -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RepoType -> r #

gmapQ :: (forall d. Data d => d -> u) -> RepoType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RepoType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RepoType -> m RepoType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RepoType -> m RepoType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RepoType -> m RepoType #

Generic RepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Associated Types

type Rep RepoType |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep RepoType = D1 ('MetaData "RepoType" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "KnownRepoType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KnownRepoType)) :+: C1 ('MetaCons "OtherRepoType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: RepoType -> Rep RepoType x #

to :: Rep RepoType x -> RepoType #

Read RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods readsPrec :: Int -> ReadS RepoType # readList :: ReadS [RepoType] # readPrec :: ReadPrec RepoType # readListPrec :: ReadPrec [RepoType] #
Show RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods showsPrec :: Int -> RepoType -> ShowS # show :: RepoType -> String # showList :: [RepoType] -> ShowS #
Eq RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods (==) :: RepoType -> RepoType -> Bool # (/=) :: RepoType -> RepoType -> Bool #
Ord RepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods compare :: RepoType -> RepoType -> Ordering # (<) :: RepoType -> RepoType -> Bool # (<=) :: RepoType -> RepoType -> Bool # (>) :: RepoType -> RepoType -> Bool # (>=) :: RepoType -> RepoType -> Bool # max :: RepoType -> RepoType -> RepoType # min :: RepoType -> RepoType -> RepoType #
type Rep RepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep RepoType = D1 ('MetaData "RepoType" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "KnownRepoType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KnownRepoType)) :+: C1 ('MetaCons "OtherRepoType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data KnownRepoType Source #

An enumeration of common source control systems. The fields used in the `SourceRepo` depend on the type of repo. The tools and methods used to obtain and track the repo depend on the repo type.

Constructors

Darcs |
Git |
SVN |
CVS |
Mercurial |
GnuArch |
Bazaar |
Monotone |
Pijul | Since: Cabal-syntax-3.4.0.0

#### Instances

Instances details

Parsec KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m KnownRepoType Source #
Pretty KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods pretty :: KnownRepoType -> Doc Source # prettyVersioned :: CabalSpecVersion -> KnownRepoType -> Doc Source #
Structured KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods structure :: Proxy KnownRepoType -> Structure Source # structureHash' :: Tagged KnownRepoType MD5
Binary KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods put :: KnownRepoType -> Put Source # get :: Get KnownRepoType Source # putList :: [KnownRepoType] -> Put Source #
NFData KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods rnf :: KnownRepoType -> () Source #
Data KnownRepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KnownRepoType -> c KnownRepoType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KnownRepoType #

toConstr :: KnownRepoType -> Constr #

dataTypeOf :: KnownRepoType -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c KnownRepoType) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KnownRepoType) #

gmapT :: (forall b. Data b => b -> b) -> KnownRepoType -> KnownRepoType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KnownRepoType -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KnownRepoType -> r #

gmapQ :: (forall d. Data d => d -> u) -> KnownRepoType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KnownRepoType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KnownRepoType -> m KnownRepoType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KnownRepoType -> m KnownRepoType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KnownRepoType -> m KnownRepoType #

Bounded KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods minBound :: KnownRepoType # maxBound :: KnownRepoType #
Enum KnownRepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Methods

succ :: KnownRepoType -> KnownRepoType #

pred :: KnownRepoType -> KnownRepoType #

toEnum :: Int -> KnownRepoType #

fromEnum :: KnownRepoType -> Int #

enumFrom :: KnownRepoType -> [KnownRepoType] #

enumFromThen :: KnownRepoType -> KnownRepoType -> [KnownRepoType] #

enumFromTo :: KnownRepoType -> KnownRepoType -> [KnownRepoType] #

enumFromThenTo :: KnownRepoType -> KnownRepoType -> KnownRepoType -> [KnownRepoType] #

Generic KnownRepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Associated Types

type Rep KnownRepoType |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep KnownRepoType = D1 ('MetaData "KnownRepoType" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (((C1 ('MetaCons "Darcs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Git" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SVN" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CVS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Mercurial" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GnuArch" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Bazaar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Monotone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Pijul" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: KnownRepoType -> Rep KnownRepoType x #

to :: Rep KnownRepoType x -> KnownRepoType #

Read KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods readsPrec :: Int -> ReadS KnownRepoType # readList :: ReadS [KnownRepoType] # readPrec :: ReadPrec KnownRepoType # readListPrec :: ReadPrec [KnownRepoType] #
Show KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods showsPrec :: Int -> KnownRepoType -> ShowS # show :: KnownRepoType -> String # showList :: [KnownRepoType] -> ShowS #
Eq KnownRepoType Source # |
Instance details Defined in Distribution.Types.SourceRepo Methods (==) :: KnownRepoType -> KnownRepoType -> Bool # (/=) :: KnownRepoType -> KnownRepoType -> Bool #
Ord KnownRepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

Methods

compare :: KnownRepoType -> KnownRepoType -> Ordering #

(<) :: KnownRepoType -> KnownRepoType -> Bool #

(<=) :: KnownRepoType -> KnownRepoType -> Bool #

(>) :: KnownRepoType -> KnownRepoType -> Bool #

(>=) :: KnownRepoType -> KnownRepoType -> Bool #

max :: KnownRepoType -> KnownRepoType -> KnownRepoType #

min :: KnownRepoType -> KnownRepoType -> KnownRepoType #

type Rep KnownRepoType Source # |

Instance details

Defined in Distribution.Types.SourceRepo

type Rep KnownRepoType = D1 ('MetaData "KnownRepoType" "Distribution.Types.SourceRepo" "Cabal-syntax-3.12.1.0-5c0e" 'False) (((C1 ('MetaCons "Darcs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Git" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SVN" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CVS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Mercurial" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GnuArch" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Bazaar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Monotone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Pijul" 'PrefixI 'False) (U1 :: Type -> Type)))))

knownRepoTypes :: [KnownRepoType] Source #

emptySourceRepo :: RepoKind -> SourceRepo Source #

classifyRepoType :: String -> RepoType Source #

classifyRepoKind :: String -> RepoKind Source #