name:           operate-do
version:        0.1.0
synopsis:       Simple project template from stack
description:    Please see README.md
category:       Meta
homepage:       https://github.com/uecmma/haskell-library-collections/tree/master/operate-do
bug-reports:    https://github.com/uecmma/haskell-library-collections/issues
author:         uecmma
maintainer:     developer@mma.club.uec.ac.jp
copyright:      2016 uecmma
license:        MIT
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
extra-source-files:
    README.md

source-repository head
  type: git
  location: git+https://gitlab.mma.club.uec.ac.jp/uecmma/haskell-library-collections.git

flag test-doctest
  default: True
  manual:  True

library
  ghc-options: -Wall
  hs-source-dirs:
      src
  exposed-modules:
      Control.Operate
      Control.Operate.Internal
      Control.Operate.Types
  other-modules:
      Language.Haskell.TH.Extra
  build-depends:
      base >= 4.7 && < 5
    , charset
    , haskell-src-meta >= 0.2
    , template-haskell >= 2.11 && < 3
  default-language: Haskell2010

test-suite spec-test
  type: exitcode-stdio-1.0
  ghc-options: -Wall
  main-is: Spec.hs
  hs-source-dirs:
      test
  other-modules:
      Control.OperateSpec
  build-depends:
      base
    , operate-do
    , QuickCheck
    , hspec
  default-language: Haskell2010

test-suite doc-test
  type: exitcode-stdio-1.0
  ghc-options: -Wall -threaded
  main-is: test/Doctests.hs
  default-language: Haskell2010

  if !flag (test-doctest)
    buildable: False
  else
    build-depends:
        base
      , doctest
      , filemanip