cabal-version:      2.2
name:               vimeta
version:            0.3.0.1
synopsis:           Frontend for video metadata tagging tools
homepage:           https://github.com/pjones/vimeta
bug-reports:        https://github.com/pjones/vimeta/issues
license:            BSD-2-Clause
license-file:       LICENSE
author:             Peter Jones <pjones@devalot.com>
maintainer:         Peter Jones <pjones@devalot.com>
copyright:          Copyright (c) 2013-2020 Peter Jones
category:           Video
stability:          experimental
build-type:         Simple
tested-with:        GHC ==8.6.5 || ==8.8.4 || ==8.10.2
description:
  Vimeta is a tool to fetch video metadata from the interwebs and
  update video files using a tagging tool.

--------------------------------------------------------------------------------
extra-source-files:
  CHANGES.md
  README.md

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

--------------------------------------------------------------------------------
common options
  default-language: Haskell2010
  ghc-options:
    -Wall -Wno-name-shadowing -Werror=incomplete-record-updates
    -Werror=incomplete-uni-patterns -Werror=missing-home-modules
    -Widentities -Wmissing-export-lists -Wredundant-constraints

--------------------------------------------------------------------------------
common extensions
  default-extensions:
    DerivingStrategies
    GeneralizedNewtypeDeriving
    LambdaCase
    MultiParamTypeClasses
    OverloadedStrings
    RecordWildCards
    ScopedTypeVariables
    TupleSections

--------------------------------------------------------------------------------
common dependencies
  build-depends:
    , aeson                 >=0.8    && <1.6
    , base                  >=4.6    && <5.0
    , byline                >=1.0    && <1.2
    , bytestring            >=0.10   && <0.12
    , directory             >=1.2.3  && <1.4
    , exceptions            ^>=0.10
    , filepath              >=1.3    && <1.5
    , http-client           >=0.4.30 && <0.8
    , http-client-tls       >=0.2.2  && <0.4
    , http-types            >=0.8    && <0.13
    , mtl                   >=2.1    && <2.3
    , optparse-applicative  >=0.11   && <0.17
    , parsec                ^>=3.1
    , process               >=1.1    && <1.7
    , relude                >=0.6    && <0.8
    , temporary             >=1.1    && <1.4
    , text                  >=0.11   && <1.3
    , themoviedb            ^>=1.2
    , time                  >=1.2    && <1.12
    , yaml                  >=0.8    && <0.12

  mixins:
    base hiding (Prelude),
    relude (Relude as Prelude, Relude.Extra.Map)

--------------------------------------------------------------------------------
library
  import:          options, extensions, dependencies
  hs-source-dirs:  src
  exposed-modules:
    Vimeta.Core
    Vimeta.Core.Cache
    Vimeta.Core.Config
    Vimeta.Core.Download
    Vimeta.Core.Format
    Vimeta.Core.MappingFile
    Vimeta.Core.Process
    Vimeta.Core.Tagger
    Vimeta.Core.Vimeta
    Vimeta.UI.CommandLine
    Vimeta.UI.CommandLine.Common
    Vimeta.UI.CommandLine.Config
    Vimeta.UI.CommandLine.Movie
    Vimeta.UI.CommandLine.TV
    Vimeta.UI.Common.Movie
    Vimeta.UI.Common.TV
    Vimeta.UI.Common.Util
    Vimeta.UI.Term.Common
    Vimeta.UI.Term.Movie
    Vimeta.UI.Term.TV

  other-modules:   Paths_vimeta
  autogen-modules: Paths_vimeta

--------------------------------------------------------------------------------
executable vimeta
  import:         options, extensions, dependencies
  hs-source-dirs: app
  main-is:        Main.hs
  build-depends:  vimeta