stack-3.7.1: src/Stack/Types/UpgradeOpts.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE NoFieldSelectors #-}
{-|
Module : Stack.Types.UpgradeOpts
Description : Types for command line options for Stack's @upgrade@ command.
License : BSD-3-Clause
Types for command line options for Stack's @upgrade@ command.
-}
module Stack.Types.UpgradeOpts
( UpgradeOpts (..)
, BinaryOpts (..)
, SourceOpts (..)
) where
import Stack.Prelude
-- | Type representing command line options for the @stack upgrade@ command.
data UpgradeOpts = UpgradeOpts
{ binary :: !(Maybe BinaryOpts)
, source :: !(Maybe SourceOpts)
}
deriving Show
-- | Type representing options for upgrading Stack with a binary executable
-- file.
data BinaryOpts = BinaryOpts
{ platform :: !(Maybe String)
, force :: !Bool
-- ^ Force a download, even if the downloaded version is older than what we
-- are.
, onlyLocalBin :: !Bool
-- ^ Only download to Stack's local binary directory.
, version :: !(Maybe String)
-- ^ Specific version to download
, gitHubOrg :: !(Maybe String)
, gitHubRepo :: !(Maybe String)
}
deriving Show
-- | Type representing options for upgrading Stack from source code.
newtype SourceOpts
= SourceOpts (Maybe (String, String)) -- repo and branch
deriving Show