Safe Haskell | None |
---|---|
Language | Haskell2010 |
Stack.Types.Version
Description
Versions for packages.
Synopsis
- data Version
- data VersionRange
- newtype IntersectingVersionRange = IntersectingVersionRange {}
- data VersionCheck
- versionParser :: Parser Version
- parseVersion :: MonadThrow m => Text -> m Version
- parseVersionFromString :: MonadThrow m => String -> m Version
- versionString :: Version -> String
- versionText :: Version -> Text
- toCabalVersion :: Version -> Version
- fromCabalVersion :: Version -> Version
- mkVersion :: String -> Q Exp
- versionRangeText :: VersionRange -> Text
- withinRange :: Version -> VersionRange -> Bool
- intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange
- toMajorVersion :: Version -> Version
- latestApplicableVersion :: VersionRange -> Set Version -> Maybe Version
- checkVersion :: VersionCheck -> Version -> Version -> Bool
- nextMajorVersion :: Version -> Version
- data UpgradeTo
- minorVersion :: Version -> Version
- stackVersion :: Version
- stackMinorVersion :: Version
Documentation
A package version.
Instances
Eq Version Source # | |
Data Version Source # | |
Defined in Stack.Types.Version Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Version -> c Version # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Version # toConstr :: Version -> Constr # dataTypeOf :: Version -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Version) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Version) # gmapT :: (forall b. Data b => b -> b) -> Version -> Version # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r # gmapQ :: (forall d. Data d => d -> u) -> Version -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Version -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Version -> m Version # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version # | |
Ord Version Source # | |
Show Version Source # | |
Generic Version Source # | |
Lift Version Source # | |
Defined in Stack.Types.Version | |
Store Version Source # | |
FromJSON Version Source # | |
Defined in Stack.Types.Version | |
FromJSONKey Version Source # | |
Defined in Stack.Types.Version Methods | |
ToJSON Version Source # | |
Defined in Stack.Types.Version | |
Hashable Version Source # | |
Defined in Stack.Types.Version | |
NFData Version Source # | |
Defined in Stack.Types.Version | |
Display Version Source # | |
Defined in Stack.Types.Version Methods display :: Version -> Utf8Builder # | |
Display Version Source # | |
type Rep Version Source # | |
type Ann Version Source # | |
Defined in Stack.PrettyPrint |
data VersionRange #
Instances
Eq VersionRange | |
Defined in Distribution.Types.VersionRange | |
Data VersionRange | |
Defined in Distribution.Types.VersionRange Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VersionRange -> c VersionRange # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VersionRange # toConstr :: VersionRange -> Constr # dataTypeOf :: VersionRange -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VersionRange) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VersionRange) # gmapT :: (forall b. Data b => b -> b) -> VersionRange -> VersionRange # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VersionRange -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VersionRange -> r # gmapQ :: (forall d. Data d => d -> u) -> VersionRange -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> VersionRange -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> VersionRange -> m VersionRange # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VersionRange -> m VersionRange # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VersionRange -> m VersionRange # | |
Ord VersionRange Source # | |
Defined in Stack.Build.ConstructPlan Methods compare :: VersionRange -> VersionRange -> Ordering # (<) :: VersionRange -> VersionRange -> Bool # (<=) :: VersionRange -> VersionRange -> Bool # (>) :: VersionRange -> VersionRange -> Bool # (>=) :: VersionRange -> VersionRange -> Bool # max :: VersionRange -> VersionRange -> VersionRange # min :: VersionRange -> VersionRange -> VersionRange # | |
Read VersionRange | |
Defined in Distribution.Types.VersionRange Methods readsPrec :: Int -> ReadS VersionRange readList :: ReadS [VersionRange] readPrec :: ReadPrec VersionRange readListPrec :: ReadPrec [VersionRange] | |
Show VersionRange | |
Defined in Distribution.Types.VersionRange Methods showsPrec :: Int -> VersionRange -> ShowS show :: VersionRange -> String # showList :: [VersionRange] -> ShowS | |
Generic VersionRange | |
Defined in Distribution.Types.VersionRange Associated Types type Rep VersionRange :: Type -> Type | |
Binary VersionRange | |
Defined in Distribution.Types.VersionRange | |
NFData VersionRange | |
Defined in Distribution.Types.VersionRange Methods rnf :: VersionRange -> () # | |
Parsec VersionRange | |
Defined in Distribution.Types.VersionRange Methods parsec :: CabalParsing m => m VersionRange | |
Pretty VersionRange | |
Defined in Distribution.Types.VersionRange Methods pretty :: VersionRange -> Doc | |
Text VersionRange | |
Defined in Distribution.Types.VersionRange | |
type Rep VersionRange | |
Defined in Distribution.Types.VersionRange type Rep VersionRange = D1 (MetaData "VersionRange" "Distribution.Types.VersionRange" "Cabal-2.4.0.1" False) (((C1 (MetaCons "AnyVersion" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ThisVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version))) :+: (C1 (MetaCons "LaterVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: (C1 (MetaCons "OrLaterVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: C1 (MetaCons "EarlierVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version))))) :+: ((C1 (MetaCons "OrEarlierVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: (C1 (MetaCons "WildcardVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: C1 (MetaCons "MajorBoundVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)))) :+: (C1 (MetaCons "UnionVersionRanges" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange)) :+: (C1 (MetaCons "IntersectVersionRanges" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange)) :+: C1 (MetaCons "VersionRangeParens" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange)))))) |
newtype IntersectingVersionRange Source #
Constructors
IntersectingVersionRange | |
Fields |
Instances
Show IntersectingVersionRange Source # | |
Defined in Stack.Types.Version Methods showsPrec :: Int -> IntersectingVersionRange -> ShowS show :: IntersectingVersionRange -> String # showList :: [IntersectingVersionRange] -> ShowS | |
Semigroup IntersectingVersionRange Source # | |
Defined in Stack.Types.Version Methods (<>) :: IntersectingVersionRange -> IntersectingVersionRange -> IntersectingVersionRange # sconcat :: NonEmpty IntersectingVersionRange -> IntersectingVersionRange # stimes :: Integral b => b -> IntersectingVersionRange -> IntersectingVersionRange # | |
Monoid IntersectingVersionRange Source # | |
Defined in Stack.Types.Version |
data VersionCheck Source #
Constructors
MatchMinor | |
MatchExact | |
NewerMinor |
Instances
Eq VersionCheck Source # | |
Defined in Stack.Types.Version | |
Ord VersionCheck Source # | |
Defined in Stack.Types.Version Methods compare :: VersionCheck -> VersionCheck -> Ordering # (<) :: VersionCheck -> VersionCheck -> Bool # (<=) :: VersionCheck -> VersionCheck -> Bool # (>) :: VersionCheck -> VersionCheck -> Bool # (>=) :: VersionCheck -> VersionCheck -> Bool # max :: VersionCheck -> VersionCheck -> VersionCheck # min :: VersionCheck -> VersionCheck -> VersionCheck # | |
Show VersionCheck Source # | |
Defined in Stack.Types.Version Methods showsPrec :: Int -> VersionCheck -> ShowS show :: VersionCheck -> String # showList :: [VersionCheck] -> ShowS | |
FromJSON VersionCheck Source # | |
Defined in Stack.Types.Version | |
ToJSON VersionCheck Source # | |
Defined in Stack.Types.Version Methods toJSON :: VersionCheck -> Value # toEncoding :: VersionCheck -> Encoding # toJSONList :: [VersionCheck] -> Value # toEncodingList :: [VersionCheck] -> Encoding # |
versionParser :: Parser Version Source #
Attoparsec parser for a package version.
parseVersion :: MonadThrow m => Text -> m Version Source #
Convenient way to parse a package version from a Text
.
parseVersionFromString :: MonadThrow m => String -> m Version Source #
Migration function.
versionString :: Version -> String Source #
Get a string representation of a package version.
versionText :: Version -> Text Source #
Get a string representation of a package version.
toCabalVersion :: Version -> Version Source #
Convert to a Cabal version.
fromCabalVersion :: Version -> Version Source #
Convert from a Cabal version.
versionRangeText :: VersionRange -> Text Source #
Display a version range
withinRange :: Version -> VersionRange -> Bool Source #
Check if a version is within a version range.
intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange Source #
A modified intersection which also simplifies, for better display.
toMajorVersion :: Version -> Version Source #
Returns the first two components, defaulting to 0 if not present
latestApplicableVersion :: VersionRange -> Set Version -> Maybe Version Source #
Given a version range and a set of versions, find the latest version from the set that is within the range.
checkVersion :: VersionCheck -> Version -> Version -> Bool Source #
nextMajorVersion :: Version -> Version Source #
Get the next major version number for the given version
A Package upgrade; Latest or a specific version.
minorVersion :: Version -> Version Source #
Get minor version (excludes any patchlevel)
stackVersion :: Version Source #
Current Stack version
stackMinorVersion :: Version Source #
Current Stack minor version (excludes patchlevel)