packages feed

typed-protocols-doc-0.2.0.0: typed-protocols-doc.cabal

cabal-version:      3.0
name:               typed-protocols-doc
version:            0.2.0.0
synopsis:           Derive documentation from typed-protocols source code
description:        Derive documentation for protocols implemented with
                    [typed-protocols](https://hackage.haskell.org/package/typed-protocols).
license:            Apache-2.0
license-file:       LICENSE
author:             Tobias Dammers
maintainer:         tobias@well-typed.com
copyright:          2023-2025 Input Output Global Inc (IOG)
category:           Network
build-type:         Simple
extra-doc-files:    CHANGELOG.md
                    NOTICE

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

library
    import:           warnings
    exposed-modules: Network.TypedProtocol.Documentation
                   , Network.TypedProtocol.Documentation.Types
                   , Network.TypedProtocol.Documentation.TH
                   , Network.TypedProtocol.Documentation.Html
                   , Network.TypedProtocol.Documentation.Text
                   , Network.TypedProtocol.Documentation.GraphViz
                   , Network.TypedProtocol.Documentation.DefaultMain
    -- other-modules:
    -- other-extensions:
    build-depends: base >=4.14.0.0 && <5
                 , aeson >=2.0 && <2.3
                 , base64-bytestring >=1.2.1.0 && <1.3
                 , blaze-html >=0.9.1.2 && <0.10
                 , bytestring >=0.11 && <0.13
                 , containers >=0.6.8 && <0.8
                 , fgl >=5.7 && <5.9
                 , filepath >=1.4.2.2 && <1.6
                 , graphviz >=2999.20.1 && <2999.21.0
                 , haddock-library >=1.11.0 && <1.12
                 , knob >=0.1 && <0.3
                 , mtl >=2.3.1 && <2.4
                 , optparse-applicative >=0.18.1.0 && <0.19
                 , template-haskell >=2.13.0.0
                 , temporary >=1.3 && <1.4
                 , text >=1.1 && <2.2
                 , th-abstraction >=0.6.0.0 && <0.8
                 , time >=1.12 && <1.14
                 , serdoc-core
                 , typed-protocols ^>= 1.0
    hs-source-dirs:   src
    default-language:   GHC2021
    default-extensions: DataKinds
                        LambdaCase

executable typed-protocols-doc-demo
    import:           warnings
    default-language: GHC2021
    hs-source-dirs:   demo
    main-is:          Main.hs
    other-modules:    DemoProtocol
    -- other-extensions:
    build-depends: base >=4.14.0.0 && <5
                 , typed-protocols
                 , typed-protocols-doc
                 , serdoc-core
                 , mtl
                 , text
    

test-suite typed-protocols-doc-test
    import:           warnings
    default-language: GHC2021
    type:             exitcode-stdio-1.0
    hs-source-dirs:   test
    main-is:          Main.hs
    other-modules: Network.TypedProtocol.Tests.Documentation
                 , Network.TypedProtocol.Tests.ControlProtocol
                 , Network.TypedProtocol.Tests.TestProtocol
                 , Network.TypedProtocol.Tests.TestProtocolTH
    -- other-extensions:
    build-depends: base >=4.14.0.0 && <5
                 , blaze-html >=0.9.1.2 && <0.10
                 , tasty >=1.5 && <1.6
                 , tasty-quickcheck >=0.10.3 && <0.11
                 , typed-protocols
                 , typed-protocols-doc
                 , serdoc-core
                 , text >=1.1 && <2.2
                 , bytestring >=0.11 && <0.13
                 , mtl