cardano-wallet-core-2022.7.1: The Wallet Backend for a Cardano node.
Copyright © 2018-2020 IOHK
License Apache-2.0
Safe Haskell None
Language Haskell2010

Cardano.Wallet.Version

Description

Provides the package version and git revision which this was compiled from.

It is assumed that all cardano-wallet packages have the same version, that of the core package.

Stack builds will have the git command available to run during compilation.

Nix builds will inject the git revision into the executables after compiling. If the git revision has changed but the sources have not, then no haskell packages will be rebuilt, but the embedded git revision will be updated.

Synopsis

Values computed at compile-time

gitRevision :: GitRevision Source #

The Git revision ID (40 character hex string) of this build.

This requires git to be available when building. Alternatively, the git revision of the cardano-wallet binary can be updated post-build using "Data.FileEmbed.injectWith".

data Version Source #

A Version represents the version of a software entity.

An instance of Eq is provided, which implements exact equality modulo reordering of the tags in the versionTags field.

An instance of Ord is also provided, which gives lexicographic ordering on the versionBranch fields (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.). This is expected to be sufficient for many uses, but note that you may need to use a more specific ordering for your versioning scheme. For example, some versioning schemes may include pre-releases which have tags "pre1" , "pre2" , and so on, and these would need to be taken into account when determining ordering. In some cases, date ordering may be more appropriate, so the application would have to look for date tags in the versionTags field and compare those. The bottom line is, don't always assume that compare and other Ord operations are the right thing for every Version .

Similarly, concrete representations of versions may differ. One possible concrete representation is provided (see showVersion and parseVersion ), but depending on the application a different concrete representation may be more appropriate.

Instances

Instances details
IsList Version

Since: base-4.8.0.0

Instance details

Defined in GHC.Exts

Associated Types

type Item Version Source #

Eq Version

Since: base-2.1

Instance details

Defined in Data.Version

Data Version

Since: base-4.7.0.0

Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Version -> Constr Source #

dataTypeOf :: Version -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Ord Version

Since: base-2.1

Instance details

Defined in Data.Version

Read Version

Since: base-2.1

Instance details

Defined in Data.Version

Show Version

Since: base-2.1

Instance details

Defined in Data.Version

Generic Version

Since: base-4.9.0.0

Instance details

Defined in Data.Version

NFData Version

Since: deepseq-1.3.0.0

Instance details

Defined in Control.DeepSeq

Arbitrary Version

Generates Version with non-empty non-negative versionBranch , and empty versionTags

Instance details

Defined in Test.QuickCheck.Arbitrary

CoArbitrary Version
Instance details

Defined in Test.QuickCheck.Arbitrary

Hashable Version
Instance details

Defined in Data.Hashable.Class

ToJSON Version
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Version
Instance details

Defined in Data.Aeson.Types.ToJSON

FromJSON Version
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Version
Instance details

Defined in Data.Aeson.Types.FromJSON

ToHttpApiData Version
>>> toUrlPiece (Version [1, 2, 3] [])
"1.2.3"
Instance details

Defined in Web.Internal.HttpApiData

FromHttpApiData Version
>>> showVersion <$> parseUrlPiece "1.2.3"
Right "1.2.3"
Instance details

Defined in Web.Internal.HttpApiData

type Rep Version
Instance details

Defined in Data.Version

type Item Version
Instance details

Defined in GHC.Exts

type Code Version
Instance details

Defined in Generics.SOP.Instances

type Code Version = '['[[ Int ], [ String ]]]
type DatatypeInfoOf Version
Instance details

Defined in Generics.SOP.Instances

Displaying Versions

showVersionAsDate :: Version -> String Source #

Format the Cabal version in the vYYYY-MM-DD style that we use for git tags.