Distribution.Types.SourceRepo.Lens

Cabal-2.2.0.1: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.SourceRepo.Lens

Synopsis

- data SourceRepo
- repoKind :: Lens' SourceRepo RepoKind
- repoType :: Lens' SourceRepo (Maybe RepoType)
- repoLocation :: Lens' SourceRepo (Maybe String)
- repoModule :: Lens' SourceRepo (Maybe String)
- repoBranch :: Lens' SourceRepo (Maybe String)
- repoTag :: Lens' SourceRepo (Maybe String)
- repoSubdir :: Lens' SourceRepo (Maybe FilePath)

# 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.

Instances

Eq SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo Methods (==) :: SourceRepo -> SourceRepo -> Bool # (/=) :: SourceRepo -> SourceRepo -> Bool #
Data SourceRepo # |
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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceRepo Source # toConstr :: SourceRepo -> Constr Source # dataTypeOf :: SourceRepo -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceRepo) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceRepo) Source # gmapT :: (forall b. Data b => b -> b) -> SourceRepo -> SourceRepo Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceRepo -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceRepo -> r Source # gmapQ :: (forall d. Data d => d -> u) -> SourceRepo -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceRepo -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceRepo -> m SourceRepo Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceRepo -> m SourceRepo Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceRepo -> m SourceRepo Source #
Read SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo Methods readsPrec :: Int -> ReadS SourceRepo Source # readList :: ReadS [SourceRepo] Source # readPrec :: ReadPrec SourceRepo Source # readListPrec :: ReadPrec [SourceRepo] Source #
Show SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo Methods showsPrec :: Int -> SourceRepo -> ShowS Source # show :: SourceRepo -> String Source # showList :: [SourceRepo] -> ShowS Source #
Generic SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo Associated Types type Rep SourceRepo :: * -> * Source # Methods from :: SourceRepo -> Rep SourceRepo x Source # to :: Rep SourceRepo x -> SourceRepo Source #
NFData SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo Methods rnf :: SourceRepo -> () Source #
Binary SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo Methods put :: SourceRepo -> Put Source # get :: Get SourceRepo Source # putList :: [SourceRepo] -> Put Source #
type Rep SourceRepo # |
Instance details Defined in Distribution.Types.SourceRepo type Rep SourceRepo = D1 (MetaData "SourceRepo" "Distribution.Types.SourceRepo" "Cabal-2.2.0.1" 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))))))

repoKind :: Lens' SourceRepo RepoKind #

repoType :: Lens' SourceRepo (Maybe RepoType) #

repoLocation :: Lens' SourceRepo (Maybe String) #

repoModule :: Lens' SourceRepo (Maybe String) #

repoBranch :: Lens' SourceRepo (Maybe String) #

repoTag :: Lens' SourceRepo (Maybe String) #

repoSubdir :: Lens' SourceRepo (Maybe FilePath) #