packages feed

cabal-cache-1.0.6.0: cabal-cache.cabal

cabal-version:          2.2

name:                   cabal-cache
version:                1.0.6.0
synopsis:               CI Assistant for Haskell projects
description:            CI Assistant for Haskell projects.  Implements package caching.
homepage:               https://github.com/haskell-works/cabal-cache
license:                BSD-3-Clause
license-file:           LICENSE
author:                 John Ky
maintainer:             newhoggy@gmail.com
copyright:              John Ky 2019-2023
category:               Development
extra-source-files:     README.md

source-repository head
  type: git
  location: https://github.com/haskell-works/cabal-cache

common base                           { build-depends: base                           >= 4.7        && < 5      }

common aeson                          { build-depends: aeson                          >= 1.4.2.0    && < 2.2    }
common amazonka                       { build-depends: amazonka                       >= 1.6.1      && < 1.7    }
common amazonka-core                  { build-depends: amazonka-core                  >= 1.6.1      && < 1.7    }
common amazonka-s3                    { build-depends: amazonka-s3                    >= 1.6.1      && < 1.7    }
common attoparsec                     { build-depends: attoparsec                     >= 0.14       && < 0.15   }
common bytestring                     { build-depends: bytestring                     >= 0.10.8.2   && < 0.12   }
common cabal-install-parsers          { build-depends: cabal-install-parsers          >= 0.4        && < 0.6    }
common conduit-extra                  { build-depends: conduit-extra                  >= 1.3.1.1    && < 1.4    }
common containers                     { build-depends: containers                     >= 0.6.0.1    && < 0.7    }
common cryptonite                     { build-depends: cryptonite                     >= 0.25       && < 1      }
common deepseq                        { build-depends: deepseq                        >= 1.4.4.0    && < 1.5    }
common directory                      { build-depends: directory                      >= 1.3.3.0    && < 1.4    }
common exceptions                     { build-depends: exceptions                     >= 0.10.1     && < 0.11   }
common filepath                       { build-depends: filepath                       >= 1.3        && < 1.5    }
common generic-lens                   { build-depends: generic-lens                   >= 1.1.0.0    && < 2.3    }
common Glob                           { build-depends: Glob                           >= 0.10.2     && < 0.11   }
common hedgehog                       { build-depends: hedgehog                       >= 1.0        && < 1.3    }
common hedgehog-extras                { build-depends: hedgehog-extras                >= 0.3        && < 0.4    }
common hspec                          { build-depends: hspec                          >= 2.4        && < 3      }
common http-client                    { build-depends: http-client                    >= 0.5.14     && < 0.8    }
common http-client-tls                { build-depends: http-client-tls                >= 0.3        && < 0.4    }
common http-types                     { build-depends: http-types                     >= 0.12.3     && < 0.13   }
common hw-hedgehog                    { build-depends: hw-hedgehog                    >= 0.1.0.3    && < 0.2    }
common hw-hspec-hedgehog              { build-depends: hw-hspec-hedgehog              >= 0.1.0.4    && < 0.2    }
common lens                           { build-depends: lens                           >= 4.17       && < 6      }
common mtl                            { build-depends: mtl                            >= 2.2.2      && < 2.4    }
common network-uri                    { build-depends: network-uri                    >= 2.6.4.1    && < 2.8    }
common oops                           { build-depends: oops                           >= 0.2        && < 0.3    }
common optparse-applicative           { build-depends: optparse-applicative           >= 0.14       && < 0.18   }
common process                        { build-depends: process                        >= 1.6.5.0    && < 1.7    }
common raw-strings-qq                 { build-depends: raw-strings-qq                 >= 1.1        && < 2      }
common relation                       { build-depends: relation                       >= 0.5        && < 0.6    }
common resourcet                      { build-depends: resourcet                      >= 1.2.2      && < 1.4    }
common selective                      { build-depends: selective                      >= 0.1.0      && < 0.6    }
common stm                            { build-depends: stm                            >= 2.5.0.0    && < 3      }
common stringsearch                   { build-depends: stringsearch                   >= 0.3.6.6    && < 0.4    }
common tar                            { build-depends: tar                            >= 0.5.1.0    && < 0.6    }
common temporary                      { build-depends: temporary                      >= 1.3        && < 1.4    }
common text                           { build-depends: text                           >= 1.2.3.1    && < 2.1    }
common time                           { build-depends: time                           >= 1.4        && < 1.13   }
common topograph                      { build-depends: topograph                      >= 1          && < 2      }
common transformers                   { build-depends: transformers                   >= 0.5.6.2    && < 0.7    }
common unliftio                       { build-depends: unliftio                       >= 0.2.10     && < 0.3    }
common zlib                           { build-depends: zlib                           >= 0.6.2      && < 0.7    }

common project-config
  default-language:     Haskell2010
  default-extensions:   BlockArguments
                        DataKinds
                        FlexibleContexts
                        LambdaCase
                        MonoLocalBinds
                        TypeOperators
  ghc-options:          -Wall
                        -Wincomplete-record-updates
                        -Wincomplete-uni-patterns
                        -Wtabs

  if impl(ghc >= 8.10.1)
    ghc-options:        -Wunused-packages

library
  import:               base, project-config,
                        aeson,
                        amazonka,
                        amazonka-core,
                        amazonka-s3,
                        attoparsec,
                        bytestring,
                        conduit-extra,
                        containers,
                        cryptonite,
                        deepseq,
                        directory,
                        exceptions,
                        filepath,
                        generic-lens,
                        http-client,
                        http-client-tls,
                        http-types,
                        lens,
                        mtl,
                        network-uri,
                        oops,
                        optparse-applicative,
                        process,
                        relation,
                        resourcet,
                        stm,
                        text,
                        topograph,
                        transformers,
  other-modules:        Paths_cabal_cache
  autogen-modules:      Paths_cabal_cache
  hs-source-dirs:       src
  exposed-modules:      HaskellWorks.CabalCache.AppError
                        HaskellWorks.CabalCache.AWS.Env
                        HaskellWorks.CabalCache.AWS.Error
                        HaskellWorks.CabalCache.AWS.S3
                        HaskellWorks.CabalCache.AWS.S3.URI
                        HaskellWorks.CabalCache.Concurrent.DownloadQueue
                        HaskellWorks.CabalCache.Concurrent.Fork
                        HaskellWorks.CabalCache.Concurrent.Type
                        HaskellWorks.CabalCache.Core
                        HaskellWorks.CabalCache.Data.List
                        HaskellWorks.CabalCache.Error
                        HaskellWorks.CabalCache.GhcPkg
                        HaskellWorks.CabalCache.Hash
                        HaskellWorks.CabalCache.IO.Console
                        HaskellWorks.CabalCache.IO.File
                        HaskellWorks.CabalCache.IO.Lazy
                        HaskellWorks.CabalCache.IO.Tar
                        HaskellWorks.CabalCache.Location
                        HaskellWorks.CabalCache.Metadata
                        HaskellWorks.CabalCache.Options
                        HaskellWorks.CabalCache.Show
                        HaskellWorks.CabalCache.Store
                        HaskellWorks.CabalCache.Text
                        HaskellWorks.CabalCache.Topology
                        HaskellWorks.CabalCache.Types
                        HaskellWorks.CabalCache.URI
                        HaskellWorks.CabalCache.Version

executable cabal-cache
  import:               base, project-config,
                        aeson,
                        amazonka,
                        amazonka-core,
                        bytestring,
                        cabal-install-parsers,
                        containers,
                        directory,
                        exceptions,
                        filepath,
                        generic-lens,
                        lens,
                        mtl,
                        network-uri,
                        oops,
                        optparse-applicative,
                        resourcet,
                        stm,
                        stringsearch,
                        temporary,
                        text,
                        unliftio,
  build-depends:        cabal-cache
  main-is:              Main.hs
  hs-source-dirs:       app
  other-modules:        App.Commands
                        App.Commands.Options.Parser
                        App.Commands.Debug
                        App.Commands.Debug.S3
                        App.Commands.Debug.S3.Cp
                        App.Commands.Options.Types
                        App.Commands.Plan
                        App.Commands.SyncFromArchive
                        App.Commands.SyncToArchive
                        App.Commands.Version
                        App.Static
                        App.Static.Base
                        App.Static.Posix
                        App.Static.Windows
                        Paths_cabal_cache
  autogen-modules:      Paths_cabal_cache
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N

test-suite cabal-cache-test
  import:               base, project-config,
                        aeson,
                        amazonka,
                        bytestring,
                        directory,
                        exceptions,
                        filepath,
                        Glob,
                        hedgehog-extras,
                        hedgehog,
                        hspec,
                        http-types,
                        hw-hspec-hedgehog,
                        lens,
                        mtl,
                        network-uri,
                        oops,
                        raw-strings-qq,
                        text,
                        time

  type:                 exitcode-stdio-1.0
  main-is:              Spec.hs
  build-depends:        cabal-cache
  hs-source-dirs:       test
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
  build-tool-depends:   hspec-discover:hspec-discover
  other-modules:        HaskellWorks.CabalCache.AwsSpec
                        HaskellWorks.CabalCache.IntegrationSpec
                        HaskellWorks.CabalCache.LocationSpec
                        HaskellWorks.CabalCache.QuerySpec
                        Test.Base