name:                siren-json
version:             0.1.0.1
synopsis:            Siren Tools for Haskell

description:         
  Types, classes, and functions for using the Siren—Hypermedia Type in Haskell.

homepage:            https://github.com/alunduil/siren-json.hs
bug-reports:         https://github.com/alunduil/siren-json.hs/issues
license:             MIT
license-file:        LICENSE
author:              Alex Brandt
maintainer:          alunduil@alunduil.com
copyright:           (c) 2017 Alex Brandt
category:            Data
build-type:          Simple
cabal-version:       >= 1.10
tested-with:         GHC >= 7.6 && < 9.0

extra-source-files:
    ChangeLog.md
  , COPYRIGHT
  , LICENSE
  , README.md
  , Setup.hs

source-repository head
  type:     git
  location: https://github.com/alunduil/siren-json.git
  branch:   develop

library
  default-language:    Haskell2010

  ghc-options: -Wall -fwarn-tabs -fwarn-monomorphism-restriction
               -fwarn-unused-do-bind

  hs-source-dirs:
      src

  exposed-modules:
      Data.SirenJSON

  other-modules:
      External.Network.HTTP.Media.MediaType.JSON
    , External.Network.HTTP.Types.Method.JSON
    , External.Network.URI.JSON

  build-depends:
      aeson                >= 0.8 && < 1.2
    , base                 >= 4.6 && < 4.12
    , bytestring           == 0.10.*
    , containers           == 0.5.*
    , http-media           == 0.6.*
    , http-types           == 0.9.*
    , network-uri          == 2.6.*
    , text                 == 1.2.*
    , unordered-containers == 0.2.*

  other-extensions:

test-suite siren-json-tests
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  main-is:          Spec.hs

  ghc-options: -Wall -fwarn-tabs -fwarn-monomorphism-restriction
               -fwarn-unused-do-bind

  hs-source-dirs:
      src
    , test

  other-modules:
      Data.SirenJSON
    , Data.SirenJSON.Arbitrary
    , Data.SirenJSON.Norm
    , Data.SirenJSONSpec
    , External.Network.HTTP.Media.MediaType.Arbitrary
    , External.Network.HTTP.Media.MediaType.ArbitrarySpec
    , External.Network.HTTP.Media.MediaType.JSON
    , External.Network.HTTP.Media.MediaType.JSONSpec
    , External.Network.HTTP.Types.Method.Arbitrary
    , External.Network.HTTP.Types.Method.ArbitrarySpec
    , External.Network.HTTP.Types.Method.JSON
    , External.Network.HTTP.Types.Method.JSONSpec
    , External.Network.URI.Arbitrary
    , External.Network.URI.ArbitrarySpec
    , External.Network.URI.JSON
    , External.Network.URI.JSONSpec

  build-tool-depends:
      hspec-discover:hspec-discover == 2.4.*

  build-depends:
      aeson                >= 0.8 && < 1.2
    , base                 >= 4.6 && < 4.12
    , bytestring           == 0.10.*
    , case-insensitive     == 1.2.*
    , containers           == 0.5.*
    , hspec                == 2.4.*
    , http-media           == 0.6.*
    , http-types           == 0.9.*
    , network-uri          == 2.6.*
    , QuickCheck           == 2.9.*
    , quickcheck-instances == 0.3.*
    , test-invariant       == 0.4.*
    , text                 == 1.2.*
    , unordered-containers == 0.2.*

  other-extensions:
      OverloadedStrings
    , RecordWildCards