name:                haskey
version:             0.1.0.0
synopsis:            A transcatoinal, ACID compliant, embeddable key-value store.
description:
    Haskey is a transactional, ACID compliant, embeddable, scalable key-value
    store written entirely in Haskell.
    .
    For more information on how to use this package, visit
    <https://github.com/haskell-haskey/haskey>
homepage:            https://github.com/haskell-haskey
license:             BSD3
license-file:        LICENSE
author:              Henri Verroken, Steven Keuchel
maintainer:          steven.keuchel@gmail.com
copyright:           Copyright (c) 2017, Henri Verroken, Steven Keuchel
category:            Database
build-type:          Simple
cabal-version:       >=1.10

extra-source-files:  README.md

library
  exposed-modules:
    Database.Haskey.Alloc.Concurrent
    Database.Haskey.Alloc.Concurrent.Database
    Database.Haskey.Alloc.Concurrent.Environment
    Database.Haskey.Alloc.Concurrent.FreePages.Query
    Database.Haskey.Alloc.Concurrent.FreePages.Save
    Database.Haskey.Alloc.Concurrent.FreePages.Tree
    Database.Haskey.Alloc.Concurrent.Meta
    Database.Haskey.Alloc.Concurrent.Monad
    Database.Haskey.Alloc.Concurrent.Overflow
    Database.Haskey.Alloc.Transaction
    Database.Haskey.Store
    Database.Haskey.Store.Class
    Database.Haskey.Store.File
    Database.Haskey.Store.InMemory
    Database.Haskey.Store.Page

  other-modules:
    Database.Haskey.Utils.IO
    Database.Haskey.Utils.Monad
    Database.Haskey.Utils.Monad.Catch
    Database.Haskey.Utils.RLock
    Database.Haskey.Utils.STM.Map
    FileIO

  other-extensions:
    DataKinds
    DeriveFoldable
    DeriveFunctor
    DeriveTraversable
    GADTs
    KindSignatures
    MultiWayIf
    ScopedTypeVariables
    StandaloneDeriving

  build-depends:
    base                    >=4.7  && <5,
    binary                  >=0.6  && <0.9 || >0.9 && <1,
    bytestring              >=0.10 && <1,
    containers              >=0.5  && <1,
    directory               >=1.2  && <2,
    exceptions              >=0.8.3 && <0.9,
    filepath                >=1.4  && <2,
    focus                   >=0.1.2 && <0.2,
    haskey-btree            >=0.1 && <1,
    list-t                  >=0.2  && <2,
    lz4                     >=0.2  && <1,
    mtl                     >=2.1  && <3,
    semigroups              >=0.12 && <1,
    stm                     >=2.1  && <3,
    stm-containers          >=0.2  && <1,
    transformers            >=0.3  && <1,
    unix                    >=2.7.1.0 && <3,
    xxhash-ffi              >=0.1.0.1 && <1

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

test-suite haskey-properties
  main-is:             Properties.hs
  type:                exitcode-stdio-1.0
  other-modules:
    Properties.Store.Page
    Properties.Utils

  build-depends:
    base          >=4.7  && <5,
    binary        >=0.6  && <0.9 || >0.9 && <1,
    bytestring    >=0.10 && <1,
    containers    >=0.5  && <1,
    vector        >=0.10 && <1,

    HUnit                      >=1.3  && <2,
    QuickCheck                 >=2    && <3,
    test-framework             >=0.8  && <1,
    test-framework-hunit       >=0.3  && <1,
    test-framework-quickcheck2 >=0.3  && <1,
    haskey,
    haskey-btree

  default-language:    Haskell2010
  ghc-options:         -Wall
  hs-source-dirs:      tests

test-suite haskey-integration
  main-is:             Integration.hs
  type:                exitcode-stdio-1.0
  other-modules:
    Integration.WriteOpenRead.Concurrent
    Integration.WriteOpenRead.Transactions

  build-depends:
    base          >=4.7  && <5,
    binary        >=0.6  && <0.9 || >0.9 && <1,
    bytestring    >=0.10 && <1,
    containers    >=0.5  && <1,
    directory     >=1.2  && <2,
    exceptions    >=0.8.3 && <0.9,
    mtl           >=2.1  && <3,
    transformers  >=0.3  && <1,
    temporary     >=1.2  && <1.3,
    vector        >=0.10 && <1,

    QuickCheck    >=2    && <3,
    test-framework             >=0.8  && <1,
    test-framework-quickcheck2 >=0.3  && <1,
    haskey,
    haskey-btree

  default-language:    Haskell2010
  ghc-options:         -Wall
  hs-source-dirs:      tests

source-repository head
  type:     git
  location: https://github.com/haskell-haskey/haskey