Blob Blame History Raw
cabal-version:       >=1.10
name:                servant-client-core
version:             0.16
x-revision:          2

synopsis:            Core functionality and class for client function generation for servant APIs
category:            Servant, Web
description:
  This library provides backend-agnostic generation of client functions. For
  more information, see the README.

homepage:            http://docs.servant.dev/
bug-reports:         http://github.com/haskell-servant/servant/issues
license:             BSD3
license-file:        LICENSE
author:              Servant Contributors
maintainer:          haskell-servant-maintainers@googlegroups.com
copyright:           2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
build-type:          Simple
tested-with:
  GHC ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.1

extra-source-files:
  CHANGELOG.md
  README.md

source-repository head
  type:              git
  location:          http://github.com/haskell-servant/servant.git

library
  exposed-modules:
      Servant.Client.Core
      Servant.Client.Free
      Servant.Client.Generic
      Servant.Client.Core.Reexport
      Servant.Client.Core.Auth
      Servant.Client.Core.BaseUrl
      Servant.Client.Core.BasicAuth
      Servant.Client.Core.ClientError
      Servant.Client.Core.HasClient
      Servant.Client.Core.Request
      Servant.Client.Core.Response
      Servant.Client.Core.RunClient

  other-modules:
      Servant.Client.Core.Internal

  -- Bundled with GHC: Lower bound to not force re-installs
  -- text and mtl are bundled starting with GHC-8.4
  --
  -- note: mtl lower bound is so low because of GHC-7.8
  build-depends:
      base                  >= 4.9      && < 4.14
    , bytestring            >= 0.10.8.1 && < 0.11
    , containers            >= 0.5.7.1  && < 0.7
    , deepseq               >= 1.4.2.0  && < 1.5
    , text                  >= 1.2.3.0  && < 1.3
    , transformers          >= 0.5.2.0  && < 0.6
    , template-haskell      >= 2.11.1.0 && < 2.16

  if !impl(ghc >= 8.2)
    build-depends:
      bifunctors >= 5.5.3 && < 5.6

  -- Servant dependencies
  build-depends:
      servant            >= 0.16 && <0.17

  -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
  -- Here can be exceptions if we really need features from the newer versions.
  build-depends:
      aeson                 >= 1.4.1.0  && < 1.5
    , base-compat           >= 0.10.5   && < 0.12
    , base64-bytestring     >= 1.0.0.1  && < 1.1
    , exceptions            >= 0.10.0   && < 0.11
    , free                  >= 5.1      && < 5.2
    , http-media            >= 0.7.1.3  && < 0.9
    , http-types            >= 0.12.2   && < 0.13
    , network-uri           >= 2.6.1.0  && < 2.7
    , safe                  >= 0.3.17   && < 0.4

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

test-suite spec
  type:                exitcode-stdio-1.0
  ghc-options:         -Wall
  default-language:    Haskell2010
  hs-source-dirs:      test
  main-is:             Spec.hs
  other-modules:
      Servant.Client.Core.Internal.BaseUrlSpec

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , base-compat
    , servant-client-core

  -- Additonal dependencies
  build-depends:
      deepseq    >= 1.4.2.0  && < 1.5
    , hspec      >= 2.6.0    && < 2.8
    , QuickCheck >= 2.12.6.1 && < 2.14

  build-tool-depends:
    hspec-discover:hspec-discover >= 2.6.0 && <2.8