| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Distribution.Types.SourceRepo
Synopsis
- data SourceRepo = SourceRepo {}
- data RepoKind
- data RepoType
- data KnownRepoType
- knownRepoTypes :: [KnownRepoType]
- emptySourceRepo :: RepoKind -> SourceRepo
- classifyRepoType :: String -> RepoType
- classifyRepoKind :: String -> RepoKind
Documentation
data SourceRepo #
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
| |
Instances
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
| Parsec RepoKind # | |||||
Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m RepoKind # | |||||
| Pretty RepoKind # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Structured RepoKind # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Binary RepoKind # | |||||
| NFData RepoKind # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Eq RepoKind # | |||||
| Ord RepoKind # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Data RepoKind # | |||||
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 # | |||||
Defined in Distribution.Types.SourceRepo Associated Types
| |||||
| Read RepoKind # | |||||
| Show RepoKind # | |||||
| type Rep RepoKind # | |||||
Defined in Distribution.Types.SourceRepo type Rep RepoKind = D1 ('MetaData "RepoKind" "Distribution.Types.SourceRepo" "Cabal-syntax-3.16.0.0-2829" '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)))) | |||||
Constructors
| KnownRepoType KnownRepoType | |
| OtherRepoType String |
Instances
| Parsec RepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m RepoType # | |||||
| Pretty RepoType # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Structured RepoType # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Binary RepoType # | |||||
| NFData RepoType # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Eq RepoType # | |||||
| Ord RepoType # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Data RepoType # | |||||
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 # | |||||
Defined in Distribution.Types.SourceRepo Associated Types
| |||||
| Read RepoType # | |||||
| Show RepoType # | |||||
| type Rep RepoType # | |||||
Defined in Distribution.Types.SourceRepo type Rep RepoType = D1 ('MetaData "RepoType" "Distribution.Types.SourceRepo" "Cabal-syntax-3.16.0.0-2829" '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 #
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.
Instances
| Parsec KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m KnownRepoType # | |||||
| Pretty KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods pretty :: KnownRepoType -> Doc # prettyVersioned :: CabalSpecVersion -> KnownRepoType -> Doc # | |||||
| Structured KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Binary KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods put :: KnownRepoType -> Put Source # get :: Get KnownRepoType Source # putList :: [KnownRepoType] -> Put Source # | |||||
| NFData KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods rnf :: KnownRepoType -> () Source # | |||||
| Eq KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods (==) :: KnownRepoType -> KnownRepoType -> Bool # (/=) :: KnownRepoType -> KnownRepoType -> Bool # | |||||
| Ord KnownRepoType # | |||||
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 # | |||||
| Data KnownRepoType # | |||||
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 # | |||||
Defined in Distribution.Types.SourceRepo | |||||
| Enum KnownRepoType # | |||||
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 # | |||||
Defined in Distribution.Types.SourceRepo Associated Types
| |||||
| Read KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods readsPrec :: Int -> ReadS KnownRepoType # readList :: ReadS [KnownRepoType] # | |||||
| Show KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo Methods showsPrec :: Int -> KnownRepoType -> ShowS # show :: KnownRepoType -> String # showList :: [KnownRepoType] -> ShowS # | |||||
| type Rep KnownRepoType # | |||||
Defined in Distribution.Types.SourceRepo type Rep KnownRepoType = D1 ('MetaData "KnownRepoType" "Distribution.Types.SourceRepo" "Cabal-syntax-3.16.0.0-2829" '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] #
emptySourceRepo :: RepoKind -> SourceRepo #
classifyRepoType :: String -> RepoType #
classifyRepoKind :: String -> RepoKind #