packages feed

hw-kafka-client-2.6.1: hw-kafka-client.cabal

name:           hw-kafka-client
version:        2.6.1
synopsis:       Kafka bindings for Haskell
description:    Apache Kafka bindings backed by the librdkafka C library.
                .
                Features include:
                .
                * Consumer groups: auto-rebalancing consumers
                .
                * Keyed and keyless messages producing/consuming
                .
                * Batch producing messages
category:       Database
homepage:       https://github.com/haskell-works/hw-kafka-client
bug-reports:    https://github.com/haskell-works/hw-kafka-client/issues
author:         Alexey Raga <alexey.raga@gmail.com>
maintainer:     Alexey Raga <alexey.raga@gmail.com>
license:        MIT
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
extra-source-files:
    README.md

source-repository head
  type: git
  location: git://github.com/haskell-works/hw-kafka-client.git

flag examples
  description: Also compile examples
  manual: True
  default: False

library
  hs-source-dirs: src
  ghc-options:
    -Wall
    -Wcompat
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wredundant-constraints
  extra-libraries: rdkafka
  build-depends:
      base >=4.6 && <5
    , bifunctors
    , bytestring
    , containers
    , text
    , transformers
    , unix
  build-tools: c2hs
  if impl(ghc <8.0)
    build-depends:
        semigroups
  if os(osx)
    cpp-options: -D__attribute__(A)= -D_Nullable= -D_Nonnull=
  exposed-modules:
      Kafka.Consumer
      Kafka.Consumer.ConsumerProperties
      Kafka.Consumer.Subscription
      Kafka.Consumer.Types
      Kafka.Dump
      Kafka.Metadata
      Kafka.Producer
      Kafka.Producer.ProducerProperties
      Kafka.Producer.Types
      Kafka.Types
  other-modules:
      Kafka.Callbacks
      Kafka.Consumer.Callbacks
      Kafka.Consumer.Convert
      Kafka.Internal.CancellationToken
      Kafka.Internal.RdKafka
      Kafka.Internal.Setup
      Kafka.Internal.Shared
      Kafka.Producer.Callbacks
      Kafka.Producer.Convert
  default-language: Haskell2010

executable kafka-client-example
  main-is: Main.hs
  hs-source-dirs: example
  ghc-options: -threaded -rtsopts
  build-depends:
      base >=4.6 && <5
    , bytestring
    , hw-kafka-client
    , text
  if !(flag(examples))
    buildable: False
  other-modules:
      ConsumerExample
      ProducerExample
  default-language: Haskell2010

test-suite integration-tests
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  hs-source-dirs: tests-it
  ghc-options: -Wall -threaded
  build-depends:
      base >=4.6 && <5
    , bifunctors
    , bytestring
    , containers
    , either
    , hspec
    , hw-kafka-client
    , monad-loops
    , text
    , transformers
  other-modules:
      Kafka.IntegrationSpec
      Kafka.TestEnv
  default-language: Haskell2010

test-suite tests
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  hs-source-dirs: tests
  ghc-options: -Wall -threaded
  build-depends:
      base >=4.6 && <5
    , bifunctors
    , bytestring
    , containers
    , either
    , hspec
    , hw-kafka-client
    , text
    , monad-loops
  other-modules:
      Kafka.Consumer.ConsumerRecordMapSpec
      Kafka.Consumer.ConsumerRecordTraverseSpec
  default-language: Haskell2010