packages feed

prune-juice-0.7: prune-juice.cabal

cabal-version:  3.0
name:           prune-juice
version:        0.7
synopsis:       Prune unused Haskell dependencies
description:    Prune unused Haskell dependencies - see README at <https://github.com/dfithian/prune-juice#readme>
category:       Development
homepage:       https://github.com/dfithian/prune-juice#readme
bug-reports:    https://github.com/dfithian/prune-juice/issues
maintainer:     Dan Fithian <daniel.m.fithian@gmail.com>
copyright:      2020 Dan Fithian
license:        MIT
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    stack.yaml
    cabal.project
    prune-juice.cabal
    test/fixtures/ghc-pkg.txt
    test/fixtures/test.cabal

source-repository head
  type: git
  location: https://github.com/dfithian/prune-juice

common ghc-options
  ghc-options: -Wall -fwarn-tabs -fwarn-redundant-constraints -Wincomplete-uni-patterns -eventlog

common ghc-exe-options
  ghc-options: -Wall -fwarn-tabs -fwarn-redundant-constraints -Wincomplete-uni-patterns -eventlog -threaded -rtsopts "-with-rtsopts=-N -T"

common options
  default-extensions:
      ConstraintKinds
      DataKinds
      DefaultSignatures
      DeriveDataTypeable
      DeriveGeneric
      DerivingStrategies
      DerivingVia
      EmptyDataDecls
      FlexibleContexts
      FlexibleInstances
      GADTs
      GeneralizedNewtypeDeriving
      LambdaCase
      MultiParamTypeClasses
      MultiWayIf
      NamedFieldPuns
      NoImplicitPrelude
      NoMonomorphismRestriction
      OverloadedStrings
      QuasiQuotes
      RankNTypes
      RecordWildCards
      ScopedTypeVariables
      StandaloneDeriving
      TemplateHaskell
      TupleSections
      TypeApplications
      TypeFamilies
      TypeOperators
      ViewPatterns
  build-depends:
      Cabal
    , aeson
    , base <5.0
    , bytestring
    , cabal-install-parsers
    , containers
    , directory
    , filepath
    , megaparsec
    , monad-logger
    , mtl
    , process
    , regex-compat
    , text
    , text-ansi
    , yaml
  default-language: Haskell2010

library
  import: options, ghc-options
  exposed-modules:
      Data.Prune.Apply
      Data.Prune.Cabal
      Data.Prune.ApplyStrategy.Safe
      Data.Prune.ApplyStrategy.Smart
      Data.Prune.Confirm
      Data.Prune.Dependency
      Data.Prune.File
      Data.Prune.ImportParser
      Data.Prune.Section.Parser
      Data.Prune.Section.Types
      Data.Prune.Stack
      Data.Prune.Types
  hs-source-dirs:
      src

executable prune-juice
  import: options, ghc-exe-options
  main-is: main.hs
  hs-source-dirs:
      app
  ghc-options: -Wall -fwarn-tabs -fwarn-redundant-constraints -Wincomplete-uni-patterns -eventlog
  build-depends:
    , optparse-applicative
    , prune-juice

test-suite test
  import: options, ghc-exe-options
  type: exitcode-stdio-1.0
  main-is: main.hs
  other-modules:
      Data.Prune.ApplyStrategy.SmartSpec
      Data.Prune.CabalSpec
      Data.Prune.DependencySpec
      Data.Prune.ImportParserSpec
      Data.Prune.Section.ParserSpec
  hs-source-dirs:
      test
  ghc-options: -Wall -fwarn-tabs -fwarn-redundant-constraints -Wincomplete-uni-patterns -eventlog
  build-depends:
    , file-embed
    , file-path-th
    , hspec
    , prune-juice