Blob Blame History Raw
name:            persistent
version:         2.14.5.1
x-revision: 1
license:         MIT
license-file:    LICENSE
author:          Michael Snoyman <michael@snoyman.com>
maintainer:      Michael Snoyman <michael@snoyman.com>, Greg Weber <greg@gregweber.info>
synopsis:        Type-safe, multi-backend data serialization.
description:     Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/persistent>.
category:        Database, Yesod
stability:       Stable
cabal-version:   >= 1.10
build-type:      Simple
homepage:        http://www.yesodweb.com/book/persistent
bug-reports:     https://github.com/yesodweb/persistent/issues
extra-source-files: ChangeLog.md README.md

library
    build-depends:
        base                     >= 4.11.1.0     && < 5
      , aeson                    >= 1.0 && < 2.2
      , attoparsec
      , base64-bytestring
      , blaze-html               >= 0.9
      , bytestring               >= 0.10
      , conduit                  >= 1.3
      , containers               >= 0.5
      , deepseq
      , fast-logger              >= 2.4
      , http-api-data            >= 0.3
      , lift-type                >= 0.1.0.0 && < 0.2.0.0
      , monad-logger             >= 0.3.28
      , mtl
      , path-pieces              >= 0.2
      , resource-pool            >= 0.2.3
      , resourcet                >= 1.1.10
      , scientific
      , silently
      , template-haskell         >= 2.13 && < 2.21
      , text                     >= 1.2
      , th-lift-instances        >= 0.1.14    && < 0.2
      , time                     >= 1.6
      , transformers             >= 0.5
      , unliftio
      , unliftio-core
      , unordered-containers
      , vault
      , vector

    default-extensions:
        FlexibleContexts
      , MultiParamTypeClasses
      , OverloadedStrings
      , TypeFamilies

    exposed-modules:
        Database.Persist
        Database.Persist.Types
        Database.Persist.Names
        Database.Persist.PersistValue
        Database.Persist.EntityDef
        Database.Persist.EntityDef.Internal
        Database.Persist.FieldDef
        Database.Persist.FieldDef.Internal
        Database.Persist.ImplicitIdDef
        Database.Persist.ImplicitIdDef.Internal
        Database.Persist.TH

        Database.Persist.Quasi
        Database.Persist.Quasi.Internal

        Database.Persist.Sql
        Database.Persist.Sql.Migration
        Database.Persist.Sql.Types.Internal
        Database.Persist.Sql.Util

        Database.Persist.SqlBackend
        Database.Persist.SqlBackend.StatementCache
        Database.Persist.SqlBackend.SqlPoolHooks
        Database.Persist.SqlBackend.Internal
        Database.Persist.SqlBackend.Internal.InsertSqlResult
        Database.Persist.SqlBackend.Internal.IsolationLevel
        Database.Persist.SqlBackend.Internal.SqlPoolHooks
        Database.Persist.SqlBackend.Internal.Statement
        Database.Persist.SqlBackend.Internal.StatementCache
        Database.Persist.SqlBackend.Internal.MkSqlBackend

        Database.Persist.Class
        Database.Persist.Class.PersistEntity
        Database.Persist.Class.PersistQuery
        Database.Persist.Class.PersistUnique
        Database.Persist.Class.PersistConfig
        Database.Persist.Class.PersistField
        Database.Persist.Class.PersistStore

    other-modules:
        Database.Persist.Types.Base

        Database.Persist.Sql.Internal
        Database.Persist.Sql.Types
        Database.Persist.Sql.Raw
        Database.Persist.Sql.Run
        Database.Persist.Sql.Class
        Database.Persist.Sql.Orphan.PersistQuery
        Database.Persist.Sql.Orphan.PersistStore
        Database.Persist.Sql.Orphan.PersistUnique

    -- These modules only make sense for compilers with access to DerivingVia
    if impl(ghc >= 8.6.1)
        exposed-modules:
            Database.Persist.Compatible
        other-modules:
            Database.Persist.Compatible.Types
            Database.Persist.Compatible.TH

    ghc-options:     -Wall -Werror=incomplete-patterns
    default-language: Haskell2010

test-suite test
    type:          exitcode-stdio-1.0
    main-is:       main.hs

    build-depends:
        base >= 4.9 && < 5
      , aeson
      , attoparsec
      , base64-bytestring
      , blaze-html
      , bytestring
      , conduit
      , containers
      , deepseq
      , fast-logger
      , hspec         >= 2.4
      , http-api-data
      , monad-logger
      , mtl
      , path-pieces
      , persistent
      , QuickCheck
      , quickcheck-instances     >= 0.3
      , resource-pool
      , resourcet
      , scientific
      , shakespeare
      , silently
      , template-haskell         >= 2.4
      , text
      , th-lift-instances
      , time
      , transformers
      , unliftio
      , unliftio-core
      , unordered-containers
      , vector

    hs-source-dirs:
        test/

    ghc-options: -Wall

    default-extensions: FlexibleContexts
                      , MultiParamTypeClasses
                      , OverloadedStrings
                      , TypeFamilies
                      , TypeOperators

    other-modules:
        Database.Persist.ClassSpec
        Database.Persist.PersistValueSpec
        Database.Persist.QuasiSpec
        Database.Persist.TH.CommentSpec
        Database.Persist.TH.CompositeKeyStyleSpec
        Database.Persist.TH.DiscoverEntitiesSpec
        Database.Persist.TH.EmbedSpec
        Database.Persist.TH.ForeignRefSpec
        Database.Persist.TH.ImplicitIdColSpec
        Database.Persist.TH.JsonEncodingSpec
        Database.Persist.TH.KindEntitiesSpec
        Database.Persist.TH.KindEntitiesSpecImports
        Database.Persist.TH.MaybeFieldDefsSpec
        Database.Persist.TH.MigrationOnlySpec
        Database.Persist.TH.MultiBlockSpec
        Database.Persist.TH.MultiBlockSpec.Model
        Database.Persist.TH.NestedSymbolsInTypeSpec
        Database.Persist.TH.NestedSymbolsInTypeSpecImports
        Database.Persist.TH.NoFieldSelectorsSpec
        Database.Persist.TH.OverloadedLabelSpec
        Database.Persist.TH.PersistWith.Model
        Database.Persist.TH.PersistWith.Model2
        Database.Persist.TH.PersistWithSpec
        Database.Persist.TH.RequireOnlyPersistImportSpec
        Database.Persist.TH.SharedPrimaryKeyImportedSpec
        Database.Persist.TH.SharedPrimaryKeySpec
        Database.Persist.TH.SumSpec
        Database.Persist.TH.ToFromPersistValuesSpec
        Database.Persist.TH.TypeLitFieldDefsSpec
        Database.Persist.THSpec
        TemplateTestImports
    default-language: Haskell2010

source-repository head
  type:     git
  location: git://github.com/yesodweb/persistent.git

benchmark persistent-th-bench
    ghc-options:      -O2
    type:             exitcode-stdio-1.0
    main-is:          Main.hs
    hs-source-dirs:   bench
    build-depends:    base
                    , persistent
                    , criterion
                    , deepseq >= 1.4
                    , file-embed
                    , text
                    , template-haskell
    other-modules:    Models
    default-language: Haskell2010