name:    OwOpointTracker
version: "0.0.0"

dependencies:

- base >=4.9.1.0 && <5
- yesod >=1.6 && <1.7
- yesod-core >=1.6 && <1.7
- yesod-auth >=1.6 && <1.7
- yesod-static >=1.6 && <1.7
- yesod-form >=1.6 && <1.8
- classy-prelude >=1.5 && <1.6
- classy-prelude-conduit >=1.5 && <1.6
- classy-prelude-yesod >=1.5 && <1.6
- bytestring >=0.10 && <0.12
- text >=0.11 && <2.0
- persistent >=2.9 && <2.14
- persistent-sqlite >=2.9 && <2.14
- persistent-template >=2.5 && <2.14
- template-haskell
- shakespeare >=2.0 && <2.1
- hjsmin >=0.1 && <0.3
- monad-control >=0.3 && <1.1
- wai-extra >=3.0 && <3.2
- yaml >=0.11 && <0.12
- http-client-tls >=0.3 && <0.4
- http-conduit >=2.3 && <2.4
- directory >=1.1 && <1.4
- warp >=3.0 && <3.4
- data-default
- aeson >=1.4 && <2.1
- conduit >=1.0 && <2.0
- monad-logger >=0.3 && <0.4
- fast-logger >=2.2 && <3.2
- wai-logger >=2.2 && <2.5
- file-embed
- safe
- unordered-containers
- containers
- vector
- time
- case-insensitive
- wai
- foreign-store

# The library contains all of our application code. The executable
# defined below is just a thin wrapper.
library:
  source-dirs: src
  when:
  - condition: (flag(dev)) || (flag(library-only))
    then:
      ghc-options:
      - -Wall
      - -fwarn-tabs
      - -O0
      cpp-options: -DDEVELOPMENT
    else:
      ghc-options:
      - -Wall
      - -fwarn-tabs
      - -O2

# Runnable executable for our application
executables:
  OwOpointTracker:
    main: main.hs
    source-dirs: app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - OwOpointTracker
    when:
    - condition: flag(library-only)
      buildable: false

# Test suite
tests:
  OwOpointTracker-test:
    main: Spec.hs
    source-dirs: test
    ghc-options: -Wall
    dependencies:
    - OwOpointTracker
    - hspec >=2.0.0
    - yesod-test
    - microlens

# Define flags used by "yesod devel" to make compilation faster
flags:
  library-only:
    description: Build for use with "yesod devel"
    manual: false
    default: false
  dev:
    description: Turn on development settings, like auto-reload templates.
    manual: false
    default: false
