-- This file has been generated from package.yaml by hpack version 0.28.2.
--
-- see: https://github.com/sol/hpack
--
-- hash: 5b2cc5a1e364aa0f567d9c37c60d94445d9e1798604ba36d76f8c9626db4b5a3

name:           libraft
version:        0.5.0.0
synopsis:       Raft consensus algorithm
description:    Please see the README on GitHub at <https://github.com/adjoint-io/raft#readme>
category:       Distributed Systems
homepage:       https://github.com/adjoint-io/raft#readme
bug-reports:    https://github.com/adjoint-io/raft/issues
author:         Adjoint Inc.
maintainer:     info@adjoint.io
copyright:      2018-2019 Adjoint Inc.
license:        BSD3
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
extra-source-files:
    ChangeLog.md
    postgres/entries.sql
    README.md

source-repository head
  type: git
  location: https://github.com/adjoint-io/raft

library
  exposed-modules:
      Control.Concurrent.STM.Timer
      Examples.Raft.FileStore.Log
      Examples.Raft.FileStore.Persistent
      Examples.Raft.Socket.Client
      Examples.Raft.Socket.Common
      Examples.Raft.Socket.Node
      Raft
      Raft.Action
      Raft.Candidate
      Raft.Client
      Raft.Config
      Raft.Event
      Raft.Follower
      Raft.Handle
      Raft.Leader
      Raft.Log
      Raft.Log.PostgreSQL
      Raft.Logging
      Raft.Metrics
      Raft.Monad
      Raft.NodeState
      Raft.Persistent
      Raft.RPC
      Raft.StateMachine
      Raft.Transition
      Raft.Types
  other-modules:
      Paths_libraft
  hs-source-dirs:
      src
  default-extensions: NoImplicitPrelude OverloadedStrings LambdaCase
  ghc-options: -fwarn-unused-binds -fwarn-unused-imports
  build-depends:
      async
    , atomic-write
    , attoparsec
    , base >=4.7 && <5
    , base16-bytestring
    , bytestring
    , cereal
    , concurrency >=1.3.0.0
    , containers
    , cryptohash-sha256
    , dejafu >=1.12.0.0
    , directory
    , ekg
    , ekg-core
    , exceptions
    , file-embed
    , filepath
    , haskeline
    , lifted-base
    , monad-control
    , monad-metrics
    , mtl
    , network
    , network-simple
    , parsec
    , postgresql-simple
    , protolude
    , random
    , repline
    , stm
    , text
    , time
    , transformers
    , transformers-base
    , unordered-containers
    , word8
  default-language: Haskell2010

executable raft-example
  main-is: Main.hs
  other-modules:
      Client
      Node
      RaftExampleT
      Store
      Paths_libraft
  hs-source-dirs:
      app
  default-extensions: NoImplicitPrelude OverloadedStrings LambdaCase
  ghc-options: -threaded -rtsopts "-with-rtsopts=-N -T"
  build-depends:
      async
    , atomic-write
    , attoparsec
    , base >=4.7 && <5
    , base16-bytestring
    , bytestring
    , cereal
    , concurrency >=1.3.0.0
    , containers
    , cryptohash-sha256
    , dejafu >=1.12.0.0
    , directory
    , ekg
    , ekg-core
    , exceptions
    , file-embed
    , filepath
    , haskeline
    , libraft
    , lifted-base
    , monad-control
    , monad-metrics
    , mtl
    , network
    , network-simple
    , optparse-applicative
    , parsec
    , postgresql-simple
    , postgresql-simple-url
    , protolude
    , random
    , repline
    , stm
    , text
    , time
    , transformers
    , transformers-base
    , unordered-containers
    , word8
  default-language: Haskell2010

test-suite raft-test
  type: exitcode-stdio-1.0
  main-is: TestDriver.hs
  other-modules:
      QuickCheckStateMachine
      RaftTestT
      SampleEntries
      TestDejaFu
      TestUtils
      Paths_libraft
  hs-source-dirs:
      test
  default-extensions: NoImplicitPrelude OverloadedStrings LambdaCase
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      QuickCheck
    , async
    , atomic-write
    , attoparsec
    , base >=4.7 && <5
    , base16-bytestring
    , bytestring
    , cereal
    , concurrency >=1.3.0.0
    , containers
    , cryptohash-sha256
    , dejafu
    , directory
    , ekg
    , ekg-core
    , exceptions
    , file-embed
    , filepath
    , haskeline
    , libraft
    , lifted-base
    , monad-control
    , monad-metrics
    , mtl
    , network
    , network-simple
    , parsec
    , postgresql-simple
    , process >=1.6.3.0
    , protolude
    , quickcheck-state-machine
    , random
    , repline
    , stm
    , tasty
    , tasty-dejafu
    , tasty-discover
    , tasty-expected-failure
    , tasty-hunit
    , tasty-quickcheck
    , text
    , time
    , transformers
    , transformers-base
    , tree-diff
    , unordered-containers
    , word8
  default-language: Haskell2010