| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Stack.Types.Version
Description
Versions for packages.
Synopsis
- data Version
- data VersionRange
- newtype IntersectingVersionRange = IntersectingVersionRange {}
- data VersionCheck
- 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
- minorVersion :: Version -> Version
- stackVersion :: Version
- stackMinorVersion :: Version
Documentation
A Version represents the version of a software entity.
Instances of Eq and Ord are provided, which gives exact
equality and lexicographic ordering of the version number
components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).
This type is opaque and distinct from the Version type in
Data.Version since Cabal-2.0. The difference extends to the
Binary instance using a different (and more compact) encoding.
Since: Cabal-2.0.0.2
Instances
data VersionRange #
Instances
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 | |
| 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 # | |
| ToJSON VersionCheck Source # | |
Defined in Stack.Types.Version Methods toJSON :: VersionCheck -> Value # toEncoding :: VersionCheck -> Encoding # toJSONList :: [VersionCheck] -> Value # toEncodingList :: [VersionCheck] -> Encoding # | |
| FromJSON VersionCheck Source # | |
Defined in Stack.Types.Version | |
versionRangeText :: VersionRange -> Text Source #
Display a version range
withinRange :: Version -> VersionRange -> Bool #
Does this version fall within the given range?
This is the evaluation function for the VersionRange type.
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
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)