packages feed

nats-client-0.1.0.0: nats-client.cabal

name:                nats-client
version:             0.1.0.0
synopsis:            Another Haskell client for NATS (https://nats.io)
description:         A simple client library for the NATS messaging protocol
homepage:            https://bitbucket.org/jpgneves/nats-client#readme
license:             BSD3
license-file:        LICENSE
author:              João Neves
maintainer:          sevenjp@gmail.com
copyright:           2017 João Neves
category:            Network
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

flag fail-on-warning
     description: Enables -Werror
     default:     False
     manual:      True

library
  hs-source-dirs:      src
  exposed-modules:     Network.Nats.Client
                     , Network.Nats.Protocol
                     , Network.Nats.Protocol.Types
  other-modules:       Network.Nats.Protocol.Message
  if flag(fail-on-warning) {
    ghc-options:       -Wall -Werror -Wredundant-constraints
  } else {
    ghc-options:       -Wall -Wredundant-constraints
  }
  build-depends:       base >= 4.7 && < 5
                     , aeson
                     , attoparsec
                     , bytestring
                     , containers
                     , data-default
                     , exceptions
                     , hslogger
                     , monad-control
                     , network
                     , random
                     , resource-pool
                     , text
                     , transformers
  default-language:    Haskell2010

executable "nats-client"
  hs-source-dirs:      example
  main-is:             ExampleClient.hs
  build-depends:       base >=4.7 && < 5
                     , bytestring
                     , nats-client
                     , network
  if flag(fail-on-warning) {
    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -Wall -Werror
  } else {
    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -Wall
  }
  default-language:    Haskell2010

test-suite nats-client-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  other-modules:       Network.Nats.Protocol.Tests
                     , Network.Nats.Test.Generators
  if flag(fail-on-warning) {
    ghc-options:       -Wall -Werror -Wredundant-constraints
  } else {
    ghc-options:       -Wall -Wredundant-constraints
  }
  build-depends:       base >=4.7 && < 5
                     , aeson
                     , bytestring
                     , mtl
                     , nats-client
                     , test-framework
                     , hedgehog
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

benchmark bench-nats-client
  type:                exitcode-stdio-1.0
  hs-source-dirs:      bench
  main-is:             Bench.hs
  build-depends:       base >=4.7 && < 5
                     , criterion
                     , time
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://bitbucket.com/jpgneves/nats-client