packages feed

asyncapi3-1.0.0.0: asyncapi3.cabal

cabal-version:       3.0
name:                asyncapi3
version:             1.0.0.0
author:              Gautier DI FOLCO
maintainer:          foss@difolco.dev
category:            Data
build-type:          Simple
license:             ISC
license-file:        LICENSE
synopsis:            AsyncAPI 3.1.0 data model
description:         Haskell data-model library for AsyncAPI 3.1.0.
tested-with:         GHC==9.8.4, GHC==9.10.3, GHC==9.12.4, GHC==9.14.1

extra-source-files:
  reference/*.md
  reference/*.json
  reference/examples/*.yml
  reference/examples/social-media/backend/asyncapi.yaml
  reference/examples/social-media/comments-service/asyncapi.yaml
  reference/examples/social-media/frontend/asyncapi.yaml
  reference/examples/social-media/notification-service/asyncapi.yaml
  reference/examples/social-media/public-api/asyncapi.yaml
  test/golden/examples/*.json
  test/golden/spec-examples/*.json

common shared
  default-language:   Haskell2010
  default-extensions:
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveGeneric
    DerivingStrategies
    DerivingVia
    DuplicateRecordFields
    FlexibleContexts
    GADTs
    ImportQualifiedPost
    GeneralizedNewtypeDeriving
    KindSignatures
    LambdaCase
    OverloadedStrings
    OverloadedRecordDot
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    TypeApplications
    TypeFamilies
    TypeOperators

common warnings
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints

library
  import:            shared, warnings
  hs-source-dirs:    src
  exposed-modules:
    Data.AsyncAPI
    Data.AsyncAPI.Internal
    Data.AsyncAPI.Internal.Schema
    Data.AsyncAPI.Internal.Referenced
    Data.AsyncAPI.Internal.Encoding
    Data.AsyncAPI.Internal.Types
    Data.AsyncAPI.Internal.FieldNames
    Data.AsyncAPI.Lens
    Data.AsyncAPI.Optics
    Data.AsyncAPI.Validation
  autogen-modules:
    Paths_asyncapi3
  other-modules:
    Paths_asyncapi3
  build-depends:
      base >=4.19 && <4.23
    , aeson >=2.2 && <2.3
    , insert-ordered-containers >=0.2.7 && <0.4
    , scientific >=0.3.7 && <0.4
    , text >=2 && <2.3
    , bytestring >=0.12 && <0.13
    , containers >=0.6.7 && <0.8
    , vector >=0.13 && <0.14
    , hashable >=1.4 && <1.6
    , unordered-containers >=0.2.19 && <0.3
    , lens >=5.2 && <5.4
    , optics-core >=0.4 && <0.5
    , optics-th >=0.4 && <0.5

test-suite spec
  import:            shared, warnings
  type:              exitcode-stdio-1.0
  hs-source-dirs:    test
  main-is:           Spec.hs
  other-modules:
    AsyncAPISpec
    SpecConformanceSpec
    ValidationSpec
    ExamplesSpec
    TestSupport
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      base >=4.19 && <4.23
    , asyncapi3
    , aeson >=2.2 && <2.3
    , insert-ordered-containers >=0.2.7 && <0.4
    , scientific >=0.3.7 && <0.4
    , text >=2 && <2.3
    , bytestring >=0.12 && <0.13
    , containers >=0.6.7 && <0.8
    , directory >=1.3.8 && <1.4
    , filepath >=1.4.100 && <1.6
    , hspec >=2.11 && <2.12
    , hspec-discover >=2.11 && <2.12
    , hspec-golden >=0.2.2 && <0.3
    , lens >=5.2 && <5.4
    , unordered-containers >=0.2.19 && <0.3
    , vector >=0.13 && <0.14
    , yaml >=0.11 && <0.12