packages feed

heddit-0.0.3: heddit.cabal

cabal-version:      3.0
name:               heddit
version:            0.0.3
synopsis:           Reddit API bindings
description:        See the README at https://gitlab.com/ngua/heddit
license:            BSD-3-Clause
license-file:       LICENSE
author:             Rory Tyler Hayford
maintainer:         rory.hayford@protonmail.com
copyright:          (c) Rory Tyler Hayford, 2021
homepage:           https://gitlab.com/ngua/heddit
bug-reports:        https://gitlab.com/ngua/heddit/-/issues
category:           Network
tested-with:        GHC ==8.10.4
data-files:         assets/haskell.png
extra-doc-files:
  CHANGELOG.org
  doc/**/*.org
  README.org

extra-source-files:
  assets/haskell.png
  tests/data/**/*.json

source-repository head
  type:     git
  location: https://gitlab.com/ngua/heddit-hs.git

flag examples
  description: build the example executables
  default:     False

flag io-tests
  description: run the full IO tests
  default:     False

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

common common-extensions
  default-extensions: OverloadedStrings

library
  import:           common-options, common-extensions
  hs-source-dirs:   src
  default-language: Haskell2010
  exposed-modules:
    Network.Reddit
    Network.Reddit.Comment
    Network.Reddit.Item
    Network.Reddit.Live
    Network.Reddit.Me
    Network.Reddit.Message
    Network.Reddit.Moderation
    Network.Reddit.Multireddit
    Network.Reddit.Submission
    Network.Reddit.Subreddit
    Network.Reddit.Types
    Network.Reddit.Types.Account
    Network.Reddit.Types.Comment
    Network.Reddit.Types.Emoji
    Network.Reddit.Types.Flair
    Network.Reddit.Types.Internal
    Network.Reddit.Types.Item
    Network.Reddit.Types.Live
    Network.Reddit.Types.Message
    Network.Reddit.Types.Moderation
    Network.Reddit.Types.Multireddit
    Network.Reddit.Types.Submission
    Network.Reddit.Types.Subreddit
    Network.Reddit.Types.Widget
    Network.Reddit.Types.Wiki
    Network.Reddit.User

  other-modules:
    Network.Reddit.Auth
    Network.Reddit.Internal
    Network.Reddit.Utils

  other-modules:    Paths_heddit
  autogen-modules:  Paths_heddit
  build-depends:
    , aeson                 ^>=1.5
    , aeson-casing          ^>=0.2
    , base                  >=4.11    && <5
    , bytestring            >=0.9
    , case-insensitive      >=1.0     && <1.3
    , conduit               ^>=1.3
    , conduit-extra         ^>=1.3
    , config-ini            ^>=0.2
    , containers            ^>=0.6
    , exceptions            ^>=0.10
    , filepath              ^>=1.4
    , generic-lens          >=1.1     && <2.2
    , hashable              >=1.0.1.1 && <1.4
    , http-api-data         ^>=0.4
    , http-client           >=0.5     && <0.8
    , http-client-tls       ^>=0.3.5
    , http-conduit          ^>=2.3
    , http-types            ^>=0.12
    , microlens             ^>=0.4.10
    , mtl                   ^>=2.2
    , random                >=1.1
    , scientific            ^>=0.3.6
    , split                 ^>=0.2.3
    , text                  ^>=1.2
    , time                  >=1.8     && <1.12
    , unliftio              ^>=0.2
    , unordered-containers  ^>=0.2.10
    , uri-bytestring        ^>=0.3

executable refresh-tokens
  import:           common-options, common-extensions
  hs-source-dirs:   examples

  if !flag(examples)
    buildable: False

  build-depends:
    , aeson               ^>=1.5
    , base                >=4.13  && <5
    , bytestring          >=0.9
    , generic-lens        >=1.1   && <2.2
    , heddit
    , http-api-data       ^>=0.4
    , microlens-platform  ^>=0.4.2
    , network             ^>=3.1
    , random              >=1.1
    , text                ^>=1.2

  main-is:          RefreshTokens.hs
  ghc-options:      -main-is RefreshTokens
  default-language: Haskell2010

executable mods
  import:           common-options, common-extensions
  hs-source-dirs:   examples

  if !flag(examples)
    buildable: False

  build-depends:
    , base                >=4.13  && <5
    , generic-lens        >=1.1   && <2.2
    , heddit
    , microlens-platform  ^>=0.4.2
    , text                ^>=1.2

  main-is:          Mods.hs
  ghc-options:      -main-is Mods
  default-language: Haskell2010

executable streaming
  import:           common-options, common-extensions
  hs-source-dirs:   examples

  if !flag(examples)
    buildable: False

  build-depends:
    , base                >=4.13  && <5
    , conduit             ^>=1.3
    , generic-lens        >=1.1   && <2.2
    , heddit
    , microlens-platform  ^>=0.4.2
    , text                ^>=1.2

  main-is:          Streaming.hs
  ghc-options:      -main-is Streaming
  default-language: Haskell2010

executable paginating
  import:           common-options, common-extensions
  hs-source-dirs:   examples

  if !flag(examples)
    buildable: False

  build-depends:
    , base                >=4.13  && <5
    , generic-lens        >=1.1   && <2.2
    , heddit
    , microlens-platform  ^>=0.4.2
    , text                ^>=1.2

  main-is:          Paginating.hs
  ghc-options:      -main-is Paginating
  default-language: Haskell2010

test-suite tests
  import:           common-options, common-extensions
  type:             exitcode-stdio-1.0
  hs-source-dirs:   tests
  build-depends:
    , aeson         ^>=1.5
    , base          >=4.13   && <5
    , bytestring    >=0.9
    , containers    ^>=0.6
    , generic-lens  >=1.1    && <2.2
    , heddit
    , hspec         >=2.0    && <3.0
    , microlens     ^>=0.4.10

  main-is:          Main.hs
  default-language: Haskell2010

test-suite io-tests
  import:           common-options, common-extensions
  type:             exitcode-stdio-1.0

  if !flag(io-tests)
    buildable: False

  hs-source-dirs:   io-tests
  build-depends:
    , aeson          ^>=1.5
    , base           >=4.13   && <5
    , containers     ^>=0.6
    , generic-lens   >=1.1    && <2.2
    , heddit
    , hspec          >=2.0    && <3.0
    , microlens-ghc  ^>=0.4.10
    , text           ^>=1.2
    , time           >=1.8    && <1.12
    , unliftio       ^>=0.2

  other-modules:
    CommentSpec
    LiveSpec
    MeSpec
    Profile
    SubmissionSpec
    SubredditSpec
    UserSpec

  main-is:          Spec.hs
  default-language: Haskell2010