packages feed

configuration-tools-0.4.2: configuration-tools.cabal

cabal-version: 1.24

name: configuration-tools
version: 0.4.2
synopsis: Tools for specifying and parsing configurations
description:
    Tools for specifying and parsing configurations
    .
    This package provides a collection of utils on top of the packages
    <http://hackage.haskell.org/package/optparse-applicative optparse-applicative>,
    <http://hackage.haskell.org/package/aeson aeson>, and
    <http://hackage.haskell.org/package/yaml yaml> for configuring libraries and
    applications in a convenient and composable way.
    .
    The main features are
    .
    1. configuration management through integration of command line option
       parsing and configuration files and
    .
    2. a @Setup.hs@ file that generates a @PkgInfo@ module for each component
       of a package that provides information about the package and the build.
    .
    Documentation on how to use this package can be found in the
    <https://github.com/alephcloud/hs-configuration-tools/blob/master/README.md README>
    and in the API documentation of the modules "Configuration.Utils" and
    "Configuration.Utils.Setup".

homepage: https://github.com/alephcloud/hs-configuration-tools
bug-reports: https://github.com/alephcloud/hs-configuration-tools/issues
license: MIT
license-file: LICENSE
author: Lars Kuhtz <lakuhtz@gmail.com>
maintainer: Lars Kuhtz <lakuhtz@gmail.com>
copyright:
    (c) 2019 Colin Woodbury <colin@fosskers.ca>,
    (c) 2015-2018 Lars Kuhtz <lakuhtz@gmail.com>,
    (c) 2014-2015 AlephCloud, Inc.
category: Configuration, Console
build-type: Custom
tested-with:
      GHC==8.8.2
    , GHC==8.6.5
    , GHC==8.4.3
    , GHC==8.2.2
    , GHC==8.0.2
    , GHC==7.10.3

extra-doc-files:
    README.md,
    CHANGELOG.md

custom-setup
    setup-depends:
        Cabal >= 1.24,
        base >= 4.8 && < 5.0,
        bytestring >= 0.10.0.2,
        directory >= 1.2.1.0,
        filepath >= 1.3.0.1,
        process >= 1.2.0.0

source-repository head
    type: git
    location: https://github.com/alephcloud/hs-configuration-tools.git
    branch: master

flag remote-configs
    Description: enable loading of configuration files from HTTP URLs
    Default: True
    Manual: True

library
    hs-source-dirs: src
    default-language: Haskell2010
    ghc-options: -Wall

    exposed-modules:
        Configuration.Utils
        Configuration.Utils.CommandLine
        Configuration.Utils.ConfigFile
        Configuration.Utils.Http
        Configuration.Utils.Internal
        Configuration.Utils.Internal.ConfigFileReader
        Configuration.Utils.Maybe
        Configuration.Utils.Monoid
        Configuration.Utils.Operators
        Configuration.Utils.Setup
        Configuration.Utils.Validation
    if flag(remote-configs)
        exposed-modules:
            Configuration.Utils.Internal.HttpsCertPolicy

    build-depends:
        Cabal >= 1.24
      , aeson >= 0.7.0.6
      , ansi-wl-pprint >= 0.6
      , attoparsec >= 0.11.3.4
      , base >= 4.8 && < 5
      , base-unicode-symbols >= 0.2.2.4
      , bytestring >= 0.10.0.2
      , case-insensitive >= 1.2
      , deepseq >= 1.3
      , directory >= 1.2.1.0
      , dlist >= 0.7.1
      , filepath >= 1.3.0.1
      , mtl >= 2.2
      , network-uri >= 2.6.0.1
      , optparse-applicative >= 0.11.0.2
      , process >= 1.2.0.0
      , profunctors >= 4.0.4
      , semigroups >= 0.18
      , semigroupoids >= 5.0
      , text >= 1.0
      , transformers >= 0.4
      , unordered-containers >= 0.2.4.0
      , yaml >= 0.8.8.3

    if flag(remote-configs)
        build-depends:
            base64-bytestring >= 1.0
          , connection >= 0.2
          , data-default >= 0.5
          , enclosed-exceptions >= 1.0
          , http-client >= 0.4.30
          , http-client-tls >= 0.2
          , http-types >= 0.8
          , monad-control >= 1.0
          , tls >= 1.2
          , x509 >= 1.5
          , x509-system >= 1.5
          , x509-validation >= 1.5.1

    if flag(remote-configs)
        cpp-options: -DREMOTE_CONFIGS

test-suite url-example-test
    default-language: Haskell2010
    ghc-options: -Wall
    type: exitcode-stdio-1.0
    main-is: TestExample.hs
    hs-source-dirs: examples, test

    other-modules:
        Example
        TestTools
        Tests.BoolOption
        Tests.MonoidConfig

    build-depends:
        Cabal >= 1.24
      , base >= 4.8 && < 5
      , base-unicode-symbols >= 0.2.2.4
      , bytestring >= 0.10
      , configuration-tools
      , mtl >= 2.2
      , text >= 1.0
      , transformers >= 0.4
      , unordered-containers >= 0.2.4.0
      , yaml >= 0.8.8.3

    if flag(remote-configs)
        build-depends:
            enclosed-exceptions >= 1.0
          , http-types >= 0.8
          , monad-control >= 1.0
          , wai >= 3.0
          , warp >= 3.0
          , warp-tls >= 3.0

        cpp-options: -DREMOTE_CONFIGS

test-suite trivial
    default-language: Haskell2010
    ghc-options: -Wall
    type: exitcode-stdio-1.0
    main-is: Trivial.hs
    hs-source-dirs: examples

    build-depends:
        base >= 4.8 && < 5
      , base-unicode-symbols >= 0.2.2.4
      , Cabal >= 1.24
      , configuration-tools