name:                hapistrano
version:             0.3.5.0
synopsis:            A deployment library for Haskell applications
description:
  .
  Hapistrano makes it easy to reliably deploy Haskell applications
  to a server.
  .
  Following popular libraries like Ruby's <http://capistranorb.com/
  Capistrano>, Hapistrano does the work of building the application
  with dependencies into a distinct folder, and then atomically moves
  a symlink to the latest complete build.
  .
  This allows for atomic switchovers to new application code after the
  build is complete. Rollback is even simpler, since Hapistrano can
  just point the `current` symlink to the previous release.
  .
  See <https://github.com/stackbuilders/hapistrano the project readme on GitHub>
  for more information.
  .
license:             MIT
license-file:        LICENSE
author:              Justin Leitgeb
maintainer:          justin@stackbuilders.com
copyright:           2015-2017 Stack Builders Inc.
category:            System
homepage:            https://github.com/stackbuilders/hapistrano
bug-reports:         https://github.com/stackbuilders/hapistrano/issues
build-type:          Simple
cabal-version:       >=1.10
extra-source-files:  CHANGELOG.md
                   , README.md
data-files:          script/clean-build.sh

flag dev
  description:        Turn on development settings.
  manual:             True
  default:            False

library
  hs-source-dirs:      src
  exposed-modules:     System.Hapistrano
                     , System.Hapistrano.Commands
                     , System.Hapistrano.Core
                     , System.Hapistrano.Types
  build-depends:       base               >= 4.8 && < 5.0
                     , filepath           >= 1.2 && < 1.5
                     , mtl                >= 2.0 && < 3.0
                     , path               >= 0.5 && < 0.7
                     , process            >= 1.4 && < 1.7
                     , time               >= 1.5 && < 1.9
                     , transformers       >= 0.4 && < 0.6
  if flag(dev)
    ghc-options:       -Wall -Werror
  else
    ghc-options:       -O2 -Wall
  default-language:    Haskell2010

executable hap
  hs-source-dirs:      app
  main-is:             Main.hs
  other-modules:       Config
                     , Paths_hapistrano
  build-depends:       aeson              >= 0.11 && < 1.3
                     , async              >= 2.0.1.6 && < 2.2
                     , base               >= 4.8 && < 5.0
                     , hapistrano
                     , optparse-applicative >= 0.11 && < 0.15
                     , path               >= 0.5 && < 0.7
                     , path-io            >= 1.2 && < 1.4
                     , stm                >= 2.4 && < 2.5
                     , yaml               >= 0.8 && < 0.9
  if flag(dev)
    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -Wall -Werror
  else
    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -O2 -Wall
  default-language:    Haskell2010

test-suite test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      spec
  main-is:             Spec.hs
  other-modules:       System.HapistranoSpec
  build-depends:       base               >= 4.8 && < 5.0
                     , directory          >= 1.2.2 && < 1.4
                     , filepath           >= 1.2 && < 1.5
                     , hapistrano
                     , hspec              >= 2.0 && < 3.0
                     , mtl                >= 2.0 && < 3.0
                     , path               >= 0.5 && < 0.7
                     , path-io            >= 1.2 && < 1.4
                     , process            >= 1.4 && < 1.7
                     , temporary          >= 1.1 && < 1.3
  if flag(dev)
    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -Wall -Werror
  else
    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -O2 -Wall
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://github.com/stackbuilders/hapistrano.git