-- Initial vabal.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                vabal
version:             2.0.0
synopsis:            the cabal companion
license:             GPL-3
license-file:        LICENSE
author:              Francesco Magliocca
maintainer:          franciman12@gmail.com
category:            Development, Distribution
build-type:          Simple
extra-source-files:  CHANGELOG.md, README.md
homepage:            https://github.com/vabal/vabal
cabal-version:       >=1.10

description:
    `vabal` finds a version of `GHC` that is compatible with
    the constraints imposed on base package found 
    in the cabal file analyzed. It then uses `ghcup`
    to obtain the correct version of the compiler (potentially downloading it).
    It supports three modes:
    .
    * @vabal configure@ (it configures your project to use the obtained `ghc`),
    * @vabal@ (it prints to stdout options to give to `cabal` to use the obtained `ghc`.
    Options are escaped so that they can sent to the `xargs` POSIX utility).
    * @vabal show@ (it works like @vabal@ but prints
    the version of the obtained `ghc` to stdout instead of options to pass to `cabal`).
    .
    See the README for more detailed informations.

executable vabal
  main-is:             Main.hs
  other-modules:       GhcupProgram, UserInterface, VabalMain,
                       VabalArguments, VabalUpdate, VabalConfigure,
                       VabalShow, ArgumentParsers, XArgsEscape,
                       VabalError, MetadataManager, VabalContext,
                       Paths_vabal

  autogen-modules:     Paths_vabal

  build-depends:       base                 >=4.11   && <4.13,
                       -- ^ GHC             >= 8.4.1 && <= 8.6.2
                       bytestring           >=0.10.8 && <0.11,
                       Cabal                >=2.2    && <2.5,
                       cassava              >=0.5.1  && <0.6,
                       directory            >=1.3.1  && <1.4,
                       filepath             >=1.4.2  && <1.5,
                       optparse-applicative >=0.14.3 && <0.15,
                       process              >=1.6.3  && <1.7,
                       containers           >=0.5.11 && <0.7,
                       http-client          >=0.5.14 && <0.6,
                       http-types           >=0.12.2 && <0.13,
                       http-client-tls      >=0.3.5  && <0.4,
                       vabal-lib            >=2.0.0  && <2.1.0

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

test-suite xargs-escape-test
  type:                exitcode-stdio-1.0
  main-is:             TestXArgsEscapes.hs
  other-modules:       XArgsEscape

  build-depends:       base,
                       process

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

source-repository head
  type: git
  location: https://github.com/vabal/vabal.git