hapistrano/hapistrano.cabal
Mark Karpov 72a1b75e70 Refactor/rewrite all the code (#52)
* Refactor/rewrite all the code

The change prepares solid ground for further improvements. This also fixes
at least two bugs:

* Proper support for empty lines and comments in build scripts.

* Previously switching to new releases was not atomic despite messing with
  symlinks. This is because it deleted the current link before creating the
  new one, but it should have created a new link and then use ‘mv’ to
  replace the old one atomically. The code has been changed to work properly
  now.

* Refresh the test suite as well

* Fix the build for older GHCs

* Use subshell for ‘cd’ commands
2017-02-06 19:04:00 +04:00

98 lines
3.7 KiB
Plaintext

name: hapistrano
version: 0.2.1.2
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.6 && < 5.0
, filepath >= 1.2 && < 1.5
, mtl >= 2.0 && < 3.0
, path >= 0.5 && < 6.0
, process >= 1.4 && < 1.5
, time >= 1.5 && < 1.8
, 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
build-depends: base >= 4.6 && < 5.0
, base-compat >= 0.6 && < 1.0
, hapistrano
, optparse-applicative >= 0.11 && < 0.14
, path >= 0.5 && < 6.0
, path-io >= 1.2 && < 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
test-suite test
type: exitcode-stdio-1.0
hs-source-dirs: spec
main-is: Spec.hs
other-modules: System.HapistranoSpec
build-depends: base >= 4.5 && < 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 && < 6.0
, path-io >= 1.2 && < 1.3
, process >= 1.4 && < 1.5
, 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