cabal-version:      >=1.10
name:               github
version:            0.23
synopsis:           Access to the GitHub API, v3.
category:           Network
description:
  The GitHub API provides programmatic access to the full
  GitHub Web site, from Issues to Gists to repos down to the underlying git data
  like references and trees. This library wraps all of that, exposing a basic but
  Haskell-friendly set of functions and data structures.
  .
  For supported endpoints see "GitHub" module.
  .
  > import qualified GitHub as GH
  >
  > main :: IO ()
  > main = do
  >     possibleUser <- GH.executeRequest' $ GH.userInfoForR "phadej"
  >     print possibleUser
  .
  For more of an overview please see the README: <https://github.com/phadej/github/blob/master/README.md>

license:            BSD3
license-file:       LICENSE
author:             Mike Burns, John Wiegley, Oleg Grenrus
maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
homepage:           https://github.com/phadej/github
build-type:         Simple
copyright:
  Copyright 2012-2013 Mike Burns, Copyright 2013-2015 John Wiegley, Copyright 2016-2019 Oleg Grenrus

tested-with:
  GHC ==7.8.4
   || ==7.10.3
   || ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.1

extra-source-files:
  README.md
  CHANGELOG.md
  fixtures/issue-search.json
  fixtures/list-teams.json
  fixtures/members-list.json
  fixtures/pull-request-opened.json
  fixtures/pull-request-review-requested.json
  fixtures/user-organizations.json
  fixtures/user.json
  fixtures/user-bot.json

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

flag openssl
  description: "Use http-client-openssl"
  manual:      True
  default:     False

library
  default-language:   Haskell2010
  ghc-options:        -Wall
  hs-source-dirs:     src
  default-extensions:
    DataKinds
    DeriveDataTypeable
    DeriveGeneric
    OverloadedStrings
    ScopedTypeVariables

  other-extensions:
    CPP
    FlexibleContexts
    FlexibleInstances
    GADTs
    KindSignatures
    RecordWildCards
    StandaloneDeriving

  exposed-modules:
    GitHub
    GitHub.Auth
    GitHub.Data
    GitHub.Data.Activities
    GitHub.Data.Comments
    GitHub.Data.Content
    GitHub.Data.Definitions
    GitHub.Data.DeployKeys
    GitHub.Data.Deployments
    GitHub.Data.Email
    GitHub.Data.Events
    GitHub.Data.Gists
    GitHub.Data.GitData
    GitHub.Data.Id
    GitHub.Data.Invitation
    GitHub.Data.Issues
    GitHub.Data.Milestone
    GitHub.Data.Name
    GitHub.Data.Options
    GitHub.Data.PublicSSHKeys
    GitHub.Data.PullRequests
    GitHub.Data.RateLimit
    GitHub.Data.Releases
    GitHub.Data.Repos
    GitHub.Data.Request
    GitHub.Data.Reviews
    GitHub.Data.Search
    GitHub.Data.Statuses
    GitHub.Data.Teams
    GitHub.Data.URL
    GitHub.Data.Webhooks
    GitHub.Data.Webhooks.Validate
    GitHub.Endpoints.Activity.Events
    GitHub.Endpoints.Activity.Notifications
    GitHub.Endpoints.Activity.Starring
    GitHub.Endpoints.Activity.Watching
    GitHub.Endpoints.Gists
    GitHub.Endpoints.Gists.Comments
    GitHub.Endpoints.GitData.Blobs
    GitHub.Endpoints.GitData.Commits
    GitHub.Endpoints.GitData.References
    GitHub.Endpoints.GitData.Trees
    GitHub.Endpoints.Issues
    GitHub.Endpoints.Issues.Comments
    GitHub.Endpoints.Issues.Events
    GitHub.Endpoints.Issues.Labels
    GitHub.Endpoints.Issues.Milestones
    GitHub.Endpoints.Organizations
    GitHub.Endpoints.Organizations.Members
    GitHub.Endpoints.Organizations.Teams
    GitHub.Endpoints.PullRequests
    GitHub.Endpoints.PullRequests.Comments
    GitHub.Endpoints.PullRequests.Reviews
    GitHub.Endpoints.RateLimit
    GitHub.Endpoints.Repos
    GitHub.Endpoints.Repos.Collaborators
    GitHub.Endpoints.Repos.Comments
    GitHub.Endpoints.Repos.Commits
    GitHub.Endpoints.Repos.Contents
    GitHub.Endpoints.Repos.DeployKeys
    GitHub.Endpoints.Repos.Deployments
    GitHub.Endpoints.Repos.Forks
    GitHub.Endpoints.Repos.Invitations
    GitHub.Endpoints.Repos.Releases
    GitHub.Endpoints.Repos.Statuses
    GitHub.Endpoints.Repos.Webhooks
    GitHub.Endpoints.Search
    GitHub.Endpoints.Users
    GitHub.Endpoints.Users.Emails
    GitHub.Endpoints.Users.Followers
    GitHub.Endpoints.Users.PublicSSHKeys
    GitHub.Internal.Prelude
    GitHub.Request

  other-modules: Paths_github

  -- Packages bundles with GHC, mtl and text are also here
  build-depends:
      base          >=4.7      && <4.14
    , binary        >=0.7.1.0  && <0.11
    , bytestring    >=0.10.4.0 && <0.11
    , containers    >=0.5.5.1  && <0.7
    , deepseq       >=1.3.0.2  && <1.5
    , mtl           >=2.1.3.1  && <2.2 || >=2.2.1 && <2.3
    , text          >=1.2.0.6  && <1.3
    , time          >=1.4      && <1.10
    , transformers  >=0.3.0.0  && <0.6

  -- other packages
  build-depends:
      aeson                 >=1.4.0.0    && <1.5
    , base-compat           >=0.10.4     && <0.12
    , base16-bytestring     >=0.1.1.6    && <0.2
    , binary-instances      >=1          && <1.1
    , cryptohash-sha1       >=0.11.100.1 && <0.12
    , deepseq-generics      >=0.2.0.0    && <0.3
    , exceptions            >=0.10.2     && <0.11
    , hashable              >=1.2.7.0    && <1.4
    , http-client           >=0.5.12     && <0.7
    , http-link-header      >=1.0.3.1    && <1.1
    , http-types            >=0.12.3     && <0.13
    , iso8601-time          >=0.1.5      && <0.2
    , network-uri           >=2.6.1.0    && <2.7
    , tagged                >=0.8.5      && <0.9
    , transformers-compat   >=0.6.5      && <0.7
    , unordered-containers  >=0.2.10.0   && <0.3
    , vector                >=0.12.0.1   && <0.13
    , vector-instances      >=3.4        && <3.5

  if flag(openssl)
    build-depends:
        HsOpenSSL              >=0.11.4.16 && <0.12
      , HsOpenSSL-x509-system  >=0.1.0.3   && <0.2
      , http-client-openssl    >=0.2.2.0   && <0.4

  else
    build-depends:
        http-client-tls  >=0.3.5.3 && <0.4
      , tls              >=1.4.1

  if !impl(ghc >=8.0)
    build-depends: semigroups >=0.18.5 && <0.20

test-suite github-test
  default-language:   Haskell2010
  type:               exitcode-stdio-1.0
  hs-source-dirs:     spec
  main-is:            Spec.hs
  ghc-options:        -Wall -threaded
  build-tool-depends: hspec-discover:hspec-discover >=2.7.1 && <2.8
  other-extensions:   TemplateHaskell
  other-modules:
    GitHub.ActivitySpec
    GitHub.CommitsSpec
    GitHub.EventsSpec
    GitHub.IssuesSpec
    GitHub.OrganizationsSpec
    GitHub.PublicSSHKeysSpec
    GitHub.PullRequestReviewsSpec
    GitHub.PullRequestsSpec
    GitHub.RateLimitSpec
    GitHub.ReleasesSpec
    GitHub.ReposSpec
    GitHub.SearchSpec
    GitHub.UsersSpec

  build-depends:
      aeson
    , base
    , base-compat
    , bytestring
    , file-embed
    , github
    , hspec                 >=2.6.1 && <2.8
    , tagged
    , text
    , unordered-containers
    , vector