-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack

name:           etc
version:        0.0.0.0
synopsis:       Declarative configuration spec for Haskell projects
description:    Please see README.md
category:       Configuration, System
homepage:       https://github.com/roman/Haskell-etc
author:         Roman Gonzalez
maintainer:     romanandreg@gmail.com
copyright:      2017 Roman Gonzalez
license:        MIT
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
data-files:
    test/fixtures/config.foo
    test/fixtures/config.json
    test/fixtures/config.spec.yaml
    test/fixtures/config.yaml
    test/fixtures/config.yml
extra-source-files:
  README.md

source-repository head
  type: git
  location: https://github.com/roman/Haskell-etc

flag printer
  description: Include support for config printer
  manual: False
  default: False

flag cli
  description: Include support for cli arguments
  manual: False
  default: False

flag yaml
  description: Include support to parse YAML files
  manual: False
  default: False

library
  hs-source-dirs: src
  ghc-options: -Wall
  build-depends:
      base >=4.7 && <5
    , aeson >=1.0 && <1.1
    , bytestring >=0.10 && <0.11
    , containers >=0.5 && <0.6
    , text >=1.2 && <1.3
    , protolude >=0.1 && <0.2
    , unordered-containers >=0.2 && <0.3
    , directory >=1.3 && <1.4
    , exceptions >=0.8 && <0.9
    , hashable >=1.2 && <1.3
    , vector >=0.11 && <0.12


  exposed-modules:
      System.Etc
      System.Etc.Spec
      System.Etc.Internal.Config
      System.Etc.Internal.Spec.JSON
      System.Etc.Internal.Spec.Types
      System.Etc.Internal.Types
      System.Etc.Internal.Resolver.Default
      System.Etc.Internal.Resolver.File
      System.Etc.Internal.Resolver.Env

  other-modules:
      Paths_etc

  default-language: Haskell2010

  if flag(printer)
    cpp-options: -DWITH_PRINTER
    build-depends:
      ansi-wl-pprint >=0.6 && <0.7
    exposed-modules:
      System.Etc.Internal.Printer

  if flag(cli)
    cpp-options: -DWITH_CLI
    build-depends:
      optparse-applicative >=0.13 && <0.14
    exposed-modules:
      System.Etc.Internal.Resolver.Cli
      System.Etc.Internal.Resolver.Cli.Common
      System.Etc.Internal.Resolver.Cli.Plain
      System.Etc.Internal.Resolver.Cli.Command

  if flag(yaml)
    cpp-options: -DWITH_YAML
    build-depends:
      yaml >=0.8 && <0.9
    exposed-modules:
      System.Etc.Internal.Spec.YAML

test-suite etc-testsuite
  type: exitcode-stdio-1.0
  main-is: TestSuite.hs
  hs-source-dirs:
      test
  ghc-options: -Wall
  build-depends:
      base >=4.7 && <5
    , aeson >=1.0 && <1.1
    , bytestring >=0.10 && <0.11
    , containers >=0.5 && <0.6
    , text >=1.2 && <1.3
    , protolude >=0.1 && <0.2
    , unordered-containers >=0.2 && <0.3
    , tasty >=0.11 && <0.12
    , tasty-hunit >=0.9 && <0.10
    , tasty-rerun >=1.1 && <1.2
    , etc

  if flag(cli)
    cpp-options: -DWITH_CLI
    build-depends:
      optparse-applicative >=0.13 && <0.14
  if flag(yaml)
    cpp-options: -DWITH_YAML
    build-depends:
      yaml >=0.8 && <0.9
  other-modules:
      Paths_etc
      System.Etc.Resolver.CliTest
      System.Etc.Resolver.Cli.CommandTest
      System.Etc.Resolver.Cli.PlainTest
      System.Etc.Resolver.DefaultTest
      System.Etc.Resolver.EnvTest
      System.Etc.Resolver.FileTest
      System.Etc.SpecTest
  default-language: Haskell2010