cabal-version:       >=1.10
name:                eventsourcing
version:             0.9.0
synopsis:            CQRS/ES library.
description:         Backend-agnostic implementation of CQRS/ES.
license:             ISC
license-file:        LICENSE
author:              Tom Feron <tho.feron@gmail.com>
maintainer:          Tom Feron <tho.feron@gmail.com>
build-type:          Simple
extra-source-files:  CHANGELOG.md
homepage:            https://github.com/thoferon/eventsourcing
bug-reports:         https://github.com/thoferon/eventsourcing/issues
category:            Database

source-repository head
  type:     git
  location: git://github.com/thoferon/eventsourcing.git
  subdir:   eventsourcing

library
  hs-source-dirs:    src
  default-language:  Haskell2010
  ghc-options:       -Wall

  exposed-modules:
    Database.CQRS
    Database.CQRS.Error
    Database.CQRS.Event
    Database.CQRS.InMemory
    Database.CQRS.Projection
    Database.CQRS.ReadModel
    Database.CQRS.ReadModel.AggregateStore
    Database.CQRS.Stream
    Database.CQRS.StreamFamily
    Database.CQRS.TabularData
    Database.CQRS.TabularData.Internal
    Database.CQRS.TabularData.Optimisation
    Database.CQRS.TaskManager
    Database.CQRS.Transformer

  build-depends:
    base >=4.12 && <5,
    deepseq >=1.4,
    free >=5,
    hashable,
    mtl,
    pipes >=4.3,
    psqueues >=0.2,
    stm >=2.5,
    time,
    unordered-containers

test-suite unit-tests
  type:              exitcode-stdio-1.0
  main-is:           Main.hs
  hs-source-dirs:    test
  default-language:  Haskell2010
  ghc-options:       -Wall -threaded

  other-modules:
    Database.CQRS.InMemoryTest
    Database.CQRS.TabularDataTest
    Database.CQRS.TransformerTest
    Helpers

  build-depends:
    base,
    deepseq,
    eventsourcing,
    hedgehog >=1.0,
    mtl,
    pipes,
    stm,
    tasty >=1.2,
    tasty-hedgehog >=1.0,
    unordered-containers