packages feed

craft-0.0.0.1: craft.cabal

name:                craft

-- The package version.  See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.0.0.1
synopsis:            A UNIX configuration management library in Haskell
description:         A UNIX configuration management EDSL/library in Haskell
license:             Apache-2.0
license-file:        LICENSE
author:              Joe Hillenbrand
maintainer:          joehillen@gmail.com
-- copyright:
-- category:
build-type:          Simple
-- Extra files to be distributed with the package, such as examples or a
-- README.
-- extra-source-files:
cabal-version:       >=1.10

library
  ghc-options:         -Wall
  hs-source-dirs:      src
                     , src/Craft
  exposed-modules:     Craft
                     , Craft.Apt
                     , Craft.Checksum
                     , Craft.Craftable
                     , Craft.Config
                     , Craft.Config.Ini
                     , Craft.Config.Json
                     , Craft.Config.SSH
                     , Craft.Config.Shell
                     , Craft.Config.Yaml
                     , Craft.DSL
                     , Craft.Daemontools
                     , Craft.Directory
                     , Craft.Facter
                     , Craft.File
                     , Craft.File.Link
                     , Craft.File.Mode
                     , Craft.File.Sourced
                     , Craft.Git
                     , Craft.Group
                     , Craft.Helpers
                     , Craft.Hostname
                     , Craft.Hosts
                     , Craft.Internal.Helpers
                     , Craft.Internal.Helpers.Parsing
                     , Craft.Internal.UserGroup
                     , Craft.Nginx
                     , Craft.Package
                     , Craft.Pip
                     , Craft.Run
                     , Craft.Run.Internal
                     , Craft.Run.Local
                     , Craft.Run.Nspawn
                     , Craft.Run.SSH
                     , Craft.Run.Vagrant
                     , Craft.S3File
                     , Craft.SSH
                     , Craft.SSH.AuthorizedKey
                     , Craft.SSH.PrivateKey
                     , Craft.SSH.PublicKey
                     , Craft.SysV
                     , Craft.Types
                     , Craft.Ubuntu
                     , Craft.Upstart
                     , Craft.User
                     , Craft.Wget

  other-modules:       Craft.Internal
                     , Craft.Hosts.Parser
                     , Craft.Hosts.Types
                     , Craft.Directory.Parser
                     , Craft.Error

  default-language:    Haskell2010
  default-extensions:  BangPatterns
                     , LambdaCase
                     , MultiParamTypeClasses
                     , OverloadedStrings
                     , QuasiQuotes
                     , RankNTypes
                     , RecordWildCards
                     , TemplateHaskell
                     , TypeFamilies

  build-depends:       base >= 4.8 && < 4.9
                     , aeson
                     , aeson-pretty
                     , ansi-terminal
                     , async
                     , bytestring
                     , conduit
                     , conduit-combinators
                     , conduit-extra
                     , containers
                     , cryptonite
                     , derive
                     , directory
                     , exceptions
                     , fast-logger
                     , monad-logger
                     , filepath
                     , formatting
                     , free
                     , unordered-containers
                     , ini
                     , lifted-base
                     , lens
                     , megaparsec
                     , MissingH
                     , memory
                     , monad-logger
                     , mtl
                     , path
                     , path-io
                     , process
                     , process-extras
                     , pureMD5
                     , QuickCheck
                     , random
                     , split
                     , streaming-commons
                     , template-haskell
                     , text
                     , transformers
                     , unix
                     , versions
                     , wreq
                     , yaml

test-suite craft-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  other-modules:       Craft.File.ModeSpec
                     , Craft.Config.ShellSpec
                     , Craft.S3FileSpec
                     , Craft.SSHSpec
                     , Craft.SSH.PublicKeySpec
                     , Craft.SSH.AuthorizedKeySpec
  build-depends:       base
                     , craft
                     , hspec >= 1.3
                     , hspec-megaparsec
                     , megaparsec
                     , QuickCheck
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  default-language:    Haskell2010