packages feed

waargonaut-0.6.2.0: waargonaut.cabal

-- Initial waargonaut.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                waargonaut

-- The package version.  See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- https://wiki.haskell.org/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.6.2.0

-- A short (one-line) description of the package.
synopsis:            JSON wrangling

-- A longer description of the package.
description:         Flexible, precise, and efficient JSON decoding/encoding library.

-- The license under which the package is released.
license:             BSD3

-- The file containing the license text.
license-file:        LICENCE

-- The package author(s).
author:              QFPL @ Data61

-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer:          oᴉ˙ldɟb@uɐǝs

-- A copyright notice.
copyright:           Copyright (C) 2018 Commonwealth Scientific and Industrial Research Organisation (CSIRO)

category:            Parser, Web, JSON

build-type:          Custom

-- Extra files to be distributed with the package, such as examples or a
-- README.
extra-source-files:  changelog.md
                   , README.md

                   -- Misc json files
                   , test/json-data/numbers.json
                   , test/json-data/image_obj.json
                   , test/json-data/twitter_with_hex_vals.json
                   , test/json-data/unicode_2705.json
                   , test/json-data/keys-in-obj.json

                   -- Known bad json files
                   , test/json-data/bad-json/no_comma_arr.json
                   , test/json-data/bad-json/no_comma_obj.json

                   -- Golden files
                   , test/json-data/goldens/backslash128.json.golden
                   , test/json-data/goldens/empty_arr_empty_ws.json.golden
                   , test/json-data/goldens/image_obj.json.golden
                   , test/json-data/goldens/location_array.json.golden
                   , test/json-data/goldens/nested_arrs.json.golden
                   , test/json-data/goldens/null_arr_trailing_comma_ws.json.golden
                   , test/json-data/goldens/numbers.json.golden
                   , test/json-data/goldens/twitter100.json.golden
                   , test/json-data/goldens/twitter_with_hex_vals.json.golden
                   , test/json-data/goldens/unicode_2705.json.golden

homepage:            https://github.com/qfpl/waargonaut
bug-reports:         https://github.com/qfpl/waargonaut/issues

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

tested-with:         GHC==8.0.2
                   , GHC==8.2.2
                   , GHC==8.4.4
                   , GHC==8.6.4

custom-setup
  setup-depends:       base >= 4.9 && <5
                     , cabal-doctest >= 1 && <1.1
                     , Cabal

source-repository    head
  type:              git
  location:          git@github.com/qfpl/waargonaut.git

library
  -- Modules included in this executable, other than Main.
  exposed-modules:     Waargonaut.Types.Whitespace

                     , Waargonaut.Types.CommaSep.Elem
                     , Waargonaut.Types.CommaSep.Elems
                     , Waargonaut.Types.CommaSep

                     , Waargonaut.Types.JChar.HexDigit4
                     , Waargonaut.Types.JChar.Escaped
                     , Waargonaut.Types.JChar.Unescaped
                     , Waargonaut.Types.JChar

                     , Waargonaut.Types.JObject.JAssoc
                     , Waargonaut.Types.JObject

                     , Waargonaut.Types.JArray
                     , Waargonaut.Types.JString
                     , Waargonaut.Types.JNumber
                     , Waargonaut.Types.Json
                     , Waargonaut.Types

                     , Waargonaut.Decode.Internal
                     , Waargonaut.Decode.ZipperMove
                     , Waargonaut.Decode.Error
                     , Waargonaut.Decode.Types
                     , Waargonaut.Decode.Runners

                     , Waargonaut.Encode.Types

                     , Waargonaut.Encode.Builder.JChar
                     , Waargonaut.Encode.Builder.Whitespace
                     , Waargonaut.Encode.Builder.JString
                     , Waargonaut.Encode.Builder.JNumber
                     , Waargonaut.Encode.Builder.JObject
                     , Waargonaut.Encode.Builder.JArray
                     , Waargonaut.Encode.Builder.CommaSep
                     , Waargonaut.Encode.Builder.Types
                     , Waargonaut.Encode.Builder

                     , Waargonaut.Decode
                     , Waargonaut.Decode.Traversal

                     , Waargonaut.Encode

                     , Waargonaut.Generic
                     , Waargonaut.Test
                     , Waargonaut.Prettier

                     , Waargonaut.Attoparsec
                     , Waargonaut.Lens

                     , Waargonaut

  ghc-options:         -Wall

  -- Other library packages from which modules are imported.
  build-depends:       base                 >= 4.9     && < 4.13
                     , lens                 >= 4.15    && < 4.18
                     , mtl                  >= 2.2.2   && < 2.3
                     , text                 >= 1.2     && < 1.3
                     , bytestring           >= 0.10.6  && < 0.11
                     , parsers              >= 0.12    && < 0.13
                     , digit                >= 0.7     && < 0.8
                     , semigroups           >= 0.8.4   && < 0.20
                     , scientific           >= 0.3     && < 0.4
                     , distributive         >= 0.5     && < 0.7
                     , nats                 >= 1       && <1.2
                     , zippers              >= 0.2     && < 0.3
                     , vector               >= 0.12    && < 0.13
                     , errors               >= 2.2     && < 2.4
                     , hoist-error          >= 0.2     && < 0.3
                     , containers           >= 0.5.6   && < 0.7
                     , witherable           >= 0.2     && < 0.4
                     , generics-sop         >= 0.4     && < 0.5
                     , mmorph               >= 1.1     && < 1.2
                     , transformers         >= 0.4     && < 0.6
                     , bifunctors           >= 5       && < 5.6
                     , contravariant        >= 1.4     && < 1.6
                     , wl-pprint-annotated  >= 0.1     && < 0.2

                     , hw-json              >= 1.0.0.2 && < 1.2
                     , hw-prim              >= 0.6     && < 0.7
                     , hw-balancedparens    >= 0.2     && < 0.3
                     , hw-rankselect        >= 0.13    && < 0.14
                     , hw-bits              >= 0.7     && < 0.8

                     , tagged               >= 0.8.5   && < 0.9
                     , semigroupoids        >= 5.2.2   && < 5.4
                     , natural              >= 0.3     && < 0.4
                     , unordered-containers >= 0.2.9   && < 0.3
                     , attoparsec           >= 0.13    && < 0.15

  -- Directories containing source files.
  hs-source-dirs:      src

  -- Base language which the package is written in.
  default-language:    Haskell2010

test-suite doctests
  type:                exitcode-stdio-1.0
  main-is:             Doctests.hs
  default-language:    Haskell2010
  hs-source-dirs:      test

  build-depends:       base             >= 4.9  && < 4.13
                     , hedgehog         >= 0.6  && < 0.7
                     , text             >= 1.2  && < 1.3
                     , digit            >= 0.7  && < 0.8
                     , attoparsec       >= 0.13 && < 0.15
                     , doctest          >= 0.9.7
                     , filepath         >= 1.3
                     , directory        >= 1.1
                     , template-haskell >= 2.8

                     , waargonaut

  ghc-options:         -Wall -threaded

test-suite waarg-tests
   other-modules:      Types.Common
                     , Types.CommaSep
                     , Types.JChar
                     , Types.JNumber
                     , Types.JString
                     , Types.Json
                     , Types.Whitespace

                     , Properties
                     , Golden
                     , Laws
                     , Utils
                     , Encoder
                     , Encoder.Laws
                     , Decoder
                     , Decoder.Laws
                     , Json

  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  hs-source-dirs:      test

  build-depends:       base                   >= 4.9    && < 4.13
                     , tasty                  >= 0.11   && < 1.3
                     , tasty-hunit            >= 0.10   && < 0.11
                     , tasty-expected-failure >= 0.11   && < 0.12
                     , hedgehog               >= 0.6    && < 0.7
                     , hedgehog-fn            >= 0.6    && < 0.7
                     , tasty-hedgehog         >= 0.2    && < 0.3
                     , lens                   >= 4.15   && < 4.18
                     , distributive           >= 0.5    && < 0.7
                     , bytestring             >= 0.10.6 && < 0.11
                     , digit                  >= 0.7    && < 0.8
                     , text                   >= 1.2    && < 1.3
                     , semigroups             >= 0.8.4  && < 0.20
                     , zippers                >= 0.2    && < 0.3
                     , vector                 >= 0.12   && < 0.13
                     , generics-sop           >= 0.4    && < 0.5
                     , attoparsec             >= 0.13   && < 0.15
                     , scientific             >= 0.3    && < 0.4
                     , tagged                 >= 0.8.5  && < 0.9
                     , mtl                    >= 2.2.2  && < 2.3
                     , semigroupoids          >= 5.2.2  && < 5.6
                     , containers             >= 0.5.6  && < 0.7
                     , natural                >= 0.3    && < 0.4
                     , contravariant          >= 1.4    && < 1.6
                     , filepath               >= 1.4    && < 1.5
                     , tasty-golden           >= 2.3    && < 2.4
                     , unordered-containers   >= 0.2.9  && < 0.3

                     , hw-balancedparens    >= 0.2     && < 0.3
                     , hw-rankselect        >= 0.13    && < 0.14
                     , hw-bits              >= 0.7     && < 0.8
                     , hw-json              >= 1.0.0.2 && < 1.2
                     , hw-prim              >= 0.6     && < 0.7

                     , waargonaut

  ghc-options:         -Wall

  default-language:    Haskell2010