name:                reliable-download
version:             1.0.0.3
synopsis:            provide reliable download service via HTTP
description:         reliable-download web application and cli tool
homepage:            "https://github.com/sylecn/reliable-download#readme"
bug-reports:         "https://github.com/sylecn/reliable-download/issues"
license:             GPL-3
author:              Yuanle Song
maintainer:          sylecn@gmail.com
copyright:           "Copyright: (c) 2018 Yuanle Song"
category:            Utilities
extra-source-files:
- README.md

ghc-options:
  - -Wall
  - -Werror
  # - -fprof-auto

default-extensions:
  - OverloadedStrings
  - ScopedTypeVariables

dependencies:
  - base >= 4.7 && < 5
  # project specific
  - scotty
  - wai
  - warp
  - wai-middleware-static
  - hedis
  - cryptohash
  - byteable
  - network
  - ansi-wl-pprint
  # file system
  - directory
  - filepath
  - unix
  # data types
  - bytestring
  - text
  - unordered-containers
  - aeson
  - extra
  # general utils
  - transformers
  - optparse-applicative
  - formatting
  - fast-logger
  - errors

library:
  source-dirs: src

executables:
  rd-api:
    source-dirs:      api
    main:             Main.hs
    dependencies:
    - reliable-download
    ghc-options:
    - -threaded
  rd:
    source-dirs:      client
    main:             Main.hs
    dependencies:
    - reliable-download    # I only need the Type module
    - http-conduit
    - http-client
    - http-types
    - retry
    - socket
    - io-thread-pool
    - tinylog
    ghc-options:
    - -threaded

tests:
  all-tests:
    main: TestApi.hs
    source-dirs: test
    dependencies:
    - reliable-download
    - hspec
    - hspec-wai
    - http-types
    - wai-extra
    - unordered-containers
    - binary
