hapistrano-0.4.0.0: A deployment library for Haskell applications

Copyright© 2015-Present Stack Builders
LicenseMIT
MaintainerJuan Paucar <jpaucar@stackbuilders.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

System.Hapistrano.Types

Contents

Description

Type definitions for the Hapistrano tool.

Synopsis

Documentation

type Hapistrano a = ExceptT Failure (ReaderT Config IO) a Source #

Hapistrano monad.

data Failure Source #

Failure with status code and a message.

Constructors

Failure Int (Maybe String) 

data Config Source #

Hapistrano configuration options.

Constructors

Config 

Fields

data Source Source #

The source of the repository. It can be from a version control provider like GitHub or a local directory.

Constructors

GitRepository 

Fields

LocalDirectory 

Fields

Instances
Eq Source Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Source -> Source -> Bool #

(/=) :: Source -> Source -> Bool #

Ord Source Source # 
Instance details

Defined in System.Hapistrano.Types

Show Source Source # 
Instance details

Defined in System.Hapistrano.Types

data Task Source #

The records describes deployment task.

Constructors

Task 

Fields

Instances
Eq Task Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Task -> Task -> Bool #

(/=) :: Task -> Task -> Bool #

Ord Task Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

compare :: Task -> Task -> Ordering #

(<) :: Task -> Task -> Bool #

(<=) :: Task -> Task -> Bool #

(>) :: Task -> Task -> Bool #

(>=) :: Task -> Task -> Bool #

max :: Task -> Task -> Task #

min :: Task -> Task -> Task #

Show Task Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

showsPrec :: Int -> Task -> ShowS #

show :: Task -> String #

showList :: [Task] -> ShowS #

data ReleaseFormat Source #

Release format mode.

Constructors

ReleaseShort

Standard release path following Capistrano's format

ReleaseLong

Long release path including picoseconds

Instances
Bounded ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Enum ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Eq ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Ord ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Read ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

Show ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

FromJSON ReleaseFormat Source # 
Instance details

Defined in System.Hapistrano.Types

data OutputDest Source #

Output destination.

Constructors

StdoutDest 
StderrDest 
Instances
Bounded OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Enum OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Eq OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Ord OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Read OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

Show OutputDest Source # 
Instance details

Defined in System.Hapistrano.Types

data Release Source #

Release indentifier.

Instances
Eq Release Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Release -> Release -> Bool #

(/=) :: Release -> Release -> Bool #

Ord Release Source # 
Instance details

Defined in System.Hapistrano.Types

Show Release Source # 
Instance details

Defined in System.Hapistrano.Types

data TargetSystem Source #

Target's system where application will be deployed

Constructors

GNULinux 
BSD 
Instances
Bounded TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Enum TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Eq TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Ord TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Read TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

Show TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Types

FromJSON TargetSystem Source # 
Instance details

Defined in System.Hapistrano.Config

data Shell Source #

Current shells supported.

Constructors

Bash 
Zsh 
Instances
Eq Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

(==) :: Shell -> Shell -> Bool #

(/=) :: Shell -> Shell -> Bool #

Ord Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

compare :: Shell -> Shell -> Ordering #

(<) :: Shell -> Shell -> Bool #

(<=) :: Shell -> Shell -> Bool #

(>) :: Shell -> Shell -> Bool #

(>=) :: Shell -> Shell -> Bool #

max :: Shell -> Shell -> Shell #

min :: Shell -> Shell -> Shell #

Show Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Methods

showsPrec :: Int -> Shell -> ShowS #

show :: Shell -> String #

showList :: [Shell] -> ShowS #

FromJSON Shell Source # 
Instance details

Defined in System.Hapistrano.Types

Types helpers

mkRelease :: ReleaseFormat -> UTCTime -> Release Source #

Create a Release indentifier.

releaseTime :: Release -> UTCTime Source #

Extract deployment time from Release.

renderRelease :: Release -> String Source #

Render Release indentifier as a String.

parseRelease :: String -> Maybe Release Source #

Parse Release identifier from a String.

fromMaybeReleaseFormat :: Maybe ReleaseFormat -> Maybe ReleaseFormat -> ReleaseFormat Source #

Get release format based on the CLI and file configuration values.

fromMaybeKeepReleases :: Maybe Natural -> Maybe Natural -> Natural Source #

Get keep releases based on the CLI and file configuration values.

toMaybePath :: Source -> Maybe (Path Abs Dir) Source #

Get the local path to copy from the Source configuration value.