{-# LANGUAGE NoImplicitPrelude     #-}
{-# LANGUAGE NoFieldSelectors      #-}

{-|
Module      : Stack.Types.SDistOpts
Description : Types related to Stack's @sdist@ command.
License     : BSD-3-Clause

Types related to Stack's @sdist@ command.
-}

module Stack.Types.SDistOpts
  ( SDistOpts (..)
  ) where

import           Stack.Prelude
import           Stack.Types.PvpBounds ( PvpBounds )

-- | Type representing command line options for @stack sdist@ command.

data SDistOpts = SDistOpts
  { SDistOpts -> [String]
dirsToWorkWith :: [String]
    -- ^ Directories to package

  , SDistOpts -> Maybe PvpBounds
pvpBounds :: Maybe PvpBounds
    -- ^ PVP Bounds overrides

  , SDistOpts -> Bool
ignoreCheck :: Bool
    -- ^ Whether to ignore check of the package for common errors

  , SDistOpts -> Bool
buildTarball :: Bool
    -- ^ Whether to build the tarball

  , SDistOpts -> Maybe String
tarPath :: Maybe FilePath
    -- ^ Where to copy the tarball

  }