cabal-version: 2.4
name:          hoauth2-providers
version:       0.8.0
synopsis:      OAuth2 Identity Providers
description:   A few well known Identity Providers
homepage:      https://github.com/freizl/hoauth2
license:       MIT
license-file:  LICENSE
author:        Haisheng Wu
maintainer:    Haisheng Wu <freizl@gmail.com>
copyright:     Haisheng Wu
category:      Network
build-type:    Simple
stability:     Beta
tested-with:   GHC <=9.6.1

source-repository head
  type:     git
  location: git://github.com/freizl/hoauth2.git

library
  hs-source-dirs:     src
  default-language:   Haskell2010
  default-extensions:
    DataKinds
    DeriveGeneric
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    InstanceSigs
    OverloadedStrings
    PolyKinds
    RecordWildCards
    TypeApplications
    TypeFamilies

  exposed-modules:
    Data.ByteString.Contrib
    Network.OAuth2.Provider
    Network.OAuth2.Provider.Auth0
    Network.OAuth2.Provider.AzureAD
    Network.OAuth2.Provider.DropBox
    Network.OAuth2.Provider.Facebook
    Network.OAuth2.Provider.Fitbit
    Network.OAuth2.Provider.GitHub
    Network.OAuth2.Provider.Google
    Network.OAuth2.Provider.LinkedIn
    Network.OAuth2.Provider.Okta
    Network.OAuth2.Provider.Slack
    Network.OAuth2.Provider.StackExchange
    Network.OAuth2.Provider.Twitter
    Network.OAuth2.Provider.Weibo
    Network.OAuth2.Provider.ZOHO
    Network.OIDC.WellKnown

  build-depends:
    , aeson                 >=2.0   && <2.3
    , base                  >=4.11  && <5
    , bytestring            >=0.9   && <0.13
    , containers            ^>=0.6
    , crypton               >=0.32  && <1.1
    , hoauth2               >=2.9   && <2.15
    , HsOpenSSL             >=0.11  && <0.12
    , http-conduit          >=2.1   && <2.4
    , http-types            >=0.11  && <0.13
    , jose-jwt              >=0.10  && <0.11
    , mtl                   >=2.0   && <2.4
    , text                  >=2.0   && <2.3
    , time                  >=1.12  && <1.13
    , transformers          >=0.4   && <0.7
    , uri-bytestring        >=0.2.3 && <0.4
    , uri-bytestring-aeson  ^>=0.1

  ghc-options:
    -Wall -Wtabs -Wno-unused-do-bind -Wunused-packages -Wpartial-fields
    -Wwarn -Wwarnings-deprecations

  -- -Wno-missing-signatures
  if impl(ghc <9.4)
    ghc-options: -Wno-unticked-promoted-constructors

test-suite hoauth-providers-tests
  type:               exitcode-stdio-1.0
  main-is:            Spec.hs
  hs-source-dirs:     test
  ghc-options:        -Wall
  build-depends:
    , aeson              >=2.0   && <2.3
    , base               >=4.11  && <5
    , hoauth2-providers
    , hspec              >=2     && <3
    , uri-bytestring     >=0.2.3 && <0.4

  other-modules:      Network.OIDC.WellKnownSpec
  default-language:   Haskell2010
  default-extensions:
    ImportQualifiedPost
    OverloadedStrings

  build-tool-depends: hspec-discover:hspec-discover >=2 && <3
  ghc-options:
    -Wall -Wtabs -Wno-unused-do-bind -Wunused-packages -Wpartial-fields
    -Wwarn -Wwarnings-deprecations