cabal-version:      1.12
name:               graphula
version:            2.1.0.1
license:            MIT
license-file:       LICENSE
maintainer:         Freckle Education
homepage:           https://github.com/freckle/graphula#readme
bug-reports:        https://github.com/freckle/graphula/issues
synopsis:
    A simple interface for generating persistent data and linking its dependencies

description:        Please see README.md
category:           Network
build-type:         Simple
extra-source-files:
    README.md
    CHANGELOG.md

source-repository head
    type:     git
    location: https://github.com/freckle/graphula

flag persistent-template
    description: Include dependency on persistent-template
    default:     False

library
    exposed-modules:
        Graphula
        Graphula.Arbitrary
        Graphula.Class
        Graphula.Dependencies
        Graphula.Dependencies.Generic
        Graphula.Idempotent
        Graphula.Key
        Graphula.Logged
        Graphula.NoConstraint
        Graphula.Node

    hs-source-dirs:   src
    other-modules:    Paths_graphula
    default-language: Haskell2010
    ghc-options:
        -Weverything -Wno-all-missed-specialisations -Wno-implicit-prelude
        -Wno-missing-import-lists -Wno-safe -Wno-unsafe

    build-depends:
        HUnit >=1.6.0.0,
        QuickCheck >=2.11.3,
        base >=4.11.1.0 && <5,
        containers >=0.5.11.0,
        directory >=1.3.1.5,
        generics-eot >=0.4,
        mtl >=2.2.2,
        persistent >=2.8.2,
        random >=1.1,
        semigroups >=0.18.5,
        temporary >=1.3,
        text >=1.2.3.1,
        unliftio >=0.2.9.0,
        unliftio-core >=0.1.2.0

    if impl(ghc >=9.8)
        ghc-options: -Wno-missing-role-annotations

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures -Wno-operator-whitespace

    if impl(ghc >=8.10)
        ghc-options:
            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module

    if impl(ghc <8.6)
        ghc-options: -Wno-redundant-constraints

test-suite readme
    type:             exitcode-stdio-1.0
    main-is:          README.lhs
    hs-source-dirs:   test
    other-modules:    Paths_graphula
    default-language: Haskell2010
    ghc-options:
        -Weverything -Wno-all-missed-specialisations -Wno-implicit-prelude
        -Wno-missing-import-lists -Wno-safe -Wno-unsafe -pgmL
        markdown-unlit

    build-depends:
        QuickCheck >=2.11.3,
        base >=4.11.1.0 && <5,
        generic-arbitrary >=0.1.0,
        graphula,
        hspec >=2.5.5,
        markdown-unlit >=0.5.0,
        monad-logger >=0.3.30,
        persistent >=2.8.2,
        persistent-sqlite >=2.8.2,
        resourcet >=1.2.2,
        transformers >=0.5.5.0,
        unliftio-core >=0.1.2.0

    if impl(ghc >=9.8)
        ghc-options: -Wno-missing-role-annotations

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures -Wno-operator-whitespace

    if impl(ghc >=8.10)
        ghc-options:
            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module

    if impl(ghc <8.6)
        ghc-options: -Wno-redundant-constraints

    if impl(ghc >=8.8)
        ghc-options: -Wno-missing-deriving-strategies

    if flag(persistent-template)
        build-depends: persistent-template >=2.5.4