~zinigor/cardano-node/trunk

« back to all changes in this revision

Viewing changes to cardano-node-chairman/testnet/Testnet/Commands/Version.hs

  • Committer: Igor Zinovyev
  • Date: 2021-08-13 19:12:27 UTC
  • Revision ID: zinigor@gmail.com-20210813191227-stlnsj3mc5ypwn0c
Tags: upstream-1.27.0
ImportĀ upstreamĀ versionĀ 1.27.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
module Testnet.Commands.Version
 
2
  ( VersionOptions(..)
 
3
  , cmdVersion
 
4
  , runVersionOptions
 
5
  ) where
 
6
 
 
7
import           Cardano.Config.Git.Rev (gitRev)
 
8
import           Data.Eq
 
9
import           Data.Function
 
10
import           Data.Monoid
 
11
import           Data.Version (showVersion)
 
12
import           Options.Applicative
 
13
import           Paths_cardano_node_chairman (version)
 
14
import           System.Info (arch, compilerName, compilerVersion, os)
 
15
import           System.IO (IO)
 
16
import           Text.Show
 
17
 
 
18
import qualified Data.Text as T
 
19
import qualified System.IO as IO
 
20
 
 
21
data VersionOptions = VersionOptions deriving (Eq, Show)
 
22
 
 
23
optsVersion :: Parser VersionOptions
 
24
optsVersion = pure VersionOptions
 
25
 
 
26
runVersionOptions :: VersionOptions -> IO ()
 
27
runVersionOptions VersionOptions = do
 
28
  IO.putStrLn $ mconcat
 
29
    [ "cardano-node ", showVersion version
 
30
    , " - ", os, "-", arch
 
31
    , " - ", compilerName, "-", showVersion compilerVersion
 
32
    , "\ngit rev ", T.unpack gitRev
 
33
    ]
 
34
 
 
35
cmdVersion :: Mod CommandFields (IO ())
 
36
cmdVersion = command "version" $ flip info idm $ runVersionOptions <$> optsVersion