cabal-version:       2.2
name:                servant-docs
version:             0.11.9

synopsis:            generate API docs for your servant webservice
category:            Servant, Web
description:
  Library for generating API docs from a servant API definition.
  .
  Runnable example <https://github.com/haskell-servant/servant/blob/master/servant-docs/example/greet.hs here>.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-docs/CHANGELOG.md CHANGELOG>

homepage:            http://docs.servant.dev/
bug-reports:         http://github.com/haskell-servant/servant/issues
license:             BSD-3-Clause
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.6.5 || ==8.8.4 || ==8.10.2 || ==9.0.1

extra-source-files:
  CHANGELOG.md
  README.md
  golden/comprehensive.md

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

library
  exposed-modules:
      Servant.Docs
    , Servant.Docs.Internal
    , Servant.Docs.Internal.Pretty

  -- 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.16
    , bytestring >= 0.10.8.1 && < 0.12
    , text       >= 1.2.3.0  && < 1.3

  -- Servant dependencies
  build-depends:
      servant            >= 0.18 && <0.19

  -- 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  && < 3
    , aeson-pretty         >= 0.8.5    && < 0.9
    , base-compat          >= 0.10.5   && < 0.12
    , case-insensitive     >= 1.2.0.11 && < 1.3
    , hashable             >= 1.2.7.0  && < 1.4
    , http-media           >= 0.7.1.3  && < 0.9
    , http-types           >= 0.12.2   && < 0.13
    , lens                 >= 4.17     && < 5.1
    , string-conversions   >= 0.4.0.1  && < 0.5
    , universe-base        >= 1.1.1    && < 1.2
    , unordered-containers >= 0.2.9.0  && < 0.3

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

executable greet-docs
  main-is: greet.hs
  hs-source-dirs: example
  ghc-options: -Wall
  build-depends:
      base
    , aeson
    , lens
    , servant
    , servant-docs
    , string-conversions
    , text
  default-language: Haskell2010

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

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , base-compat
    , aeson
    , lens
    , servant
    , servant-docs
    , string-conversions

  -- Additional dependencies
  build-depends:
      tasty         >= 1.1.0.4  && < 1.5,
      tasty-golden  >= 2.3.2    && < 2.4,
      tasty-hunit   >= 0.10.0.1 && < 0.11,
      transformers  >= 0.5.2.0  && < 0.6