packages feed

hw-kafka-avro-6.0.2: hw-kafka-avro.cabal

cabal-version:  2.4

name:                   hw-kafka-avro
version:                6.0.2
synopsis:               Avro support for Kafka infrastructure
description:            Avro support for Kafka infrastructure.
category:               Services
homepage:               https://github.com/haskell-works/hw-kafka-avro#readme
bug-reports:            https://github.com/haskell-works/hw-kafka-avro/issues
author:                 Alexey Raga
maintainer:             alexey.raga@gmail.com
copyright:              Alexey Raga
license:                BSD-3-Clause
license-file:           LICENSE
build-type:             Simple
tested-with:            GHC == 9.10.1, GHC == 9.8.2, GHC == 9.6.6
extra-source-files:     README.md

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

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

common base                     { build-depends: base                     >= 4          && < 5                      }
common avro                     { build-depends: avro                     >= 0.6.0.2    && < 0.7                    }

common aeson                    { build-depends: aeson                    >= 2.0.1.0                                }
common binary                   { build-depends: binary                                                             }
common bytestring               { build-depends: bytestring                                                         }
common containers               { build-depends: containers                                                         }
common cache                    { build-depends: cache                                                              }
common fail                     { build-depends: fail                                                               }
common hashable                 { build-depends: hashable                                                           }
common hedgehog                 { build-depends: hedgehog                                                           }
common hw-hspec-hedgehog        { build-depends: hw-hspec-hedgehog                                                  }
common hspec                    { build-depends: hspec                                                              }
common lens                     { build-depends: lens                                                               }
common mtl                      { build-depends: mtl                                                                }
common semigroups               { build-depends: semigroups                                                         }
common tagged                   { build-depends: tagged                                                             }
common http-client              { build-depends: http-client                                                        }
common http-types               { build-depends: http-types                                                         }
common text                     { build-depends: text                     >= 1.2.3      && < 1.3 || >= 2.0 && < 2.2 }
common transformers             { build-depends: transformers             >= 0.5.6.2    && < 0.7                    }
common unordered-containers     { build-depends: unordered-containers                                               }
common safe-exceptions          { build-depends: safe-exceptions          >= 0.1.7.2     && < 0.2                   }
common wreq                     { build-depends: wreq                                                               }

common config
  default-language: Haskell2010

library
  import:     base
            , aeson
            , avro
            , binary
            , bytestring
            , cache
            , containers
            , hashable
            , http-client
            , http-types
            , lens
            , mtl
            , safe-exceptions
            , semigroups
            , tagged
            , text
            , transformers
            , unordered-containers
            , wreq
            , config
  exposed-modules:
      Kafka.Avro
      Kafka.Avro.Decode
      Kafka.Avro.Encode
      Kafka.Avro.SchemaRegistry
  hs-source-dirs: src

executable kafka-avro-example
  import:     base
            , aeson
            , avro
            , bytestring
            , cache
            , containers
            , lens
            , mtl
            , semigroups
            , text
            , transformers
            , unordered-containers
            , config
  main-is: Main.hs
  other-modules:
      Message
  hs-source-dirs: example
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends: hw-kafka-avro
  if !(flag(examples))
    buildable: False

test-suite kafka-avro-test
  import:     base
            , config
            , hedgehog
            , hspec
            , hw-hspec-hedgehog
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
  hs-source-dirs: test
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends: hw-kafka-avro