packages feed

do-spaces-0.2: do-spaces.cabal

cabal-version:      3.0
name:               do-spaces
version:            0.2
synopsis:           DigitalOcean Spaces API bindings
description:        See the README at https://gitlab.com/ngua/do-spaces-hs
license:            BSD-3-Clause
license-file:       LICENSE
author:             Rory Tyler Hayford
maintainer:         rory.hayford@protonmail.com
copyright:          (c) Rory Tyler Hayford, 2021
homepage:           https://gitlab.com/ngua/do-spaces-hs
bug-reports:        https://gitlab.com/ngua/do-spaces-hs/-/issues
tested-with:        GHC ==8.8.4 || ==8.10.4
category:           Network
extra-doc-files:
  CHANGELOG.org
  README.org

extra-source-files: tests/data/*.xml

source-repository head
  type:     git
  location: https://gitlab.com/ngua/do-spaces-hs.git

common common-options
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-record-updates
    -Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints
    -Wmissing-deriving-strategies

common common-extensions
  default-extensions: OverloadedStrings

flag test-io
  description: Run the full IO tests (requires Spaces subscription)
  default:     False

library
  import:           common-options, common-extensions
  build-depends:
    , base               >=4.13 && <5
    , base16-bytestring
    , bytestring         >=0.9
    , case-insensitive   >=1.0  && <1.3
    , conduit            ^>=1.3
    , conduit-extra      ^>=1.3
    , config-ini         ^>=0.2
    , containers         ^>=0.6
    , cryptonite         >=0.25 && <0.30
    , exceptions         ^>=0.10
    , extra              >=1.6  && <1.8
    , filepath           ^>=1.4
    , generic-lens       >=1.1  && <2.2
    , http-api-data      ^>=0.4
    , http-client-tls    ^>=0.3
    , http-conduit       ^>=2.3
    , http-types         ^>=0.12
    , memory             >=0.14 && <0.17
    , microlens          ^>=0.4
    , mime-types         ^>=0.1
    , mtl                >=2.2
    , text               ^>=1.2
    , time               >=1.8  && <1.13
    , transformers       >=0.5
    , unliftio           ^>=0.2
    , xml-conduit        >=1.8  && <1.10

  exposed-modules:
    Network.DO.Spaces
    Network.DO.Spaces.Actions
    Network.DO.Spaces.Actions.CopyObject
    Network.DO.Spaces.Actions.CreateBucket
    Network.DO.Spaces.Actions.DeleteBucket
    Network.DO.Spaces.Actions.DeleteBucketCORS
    Network.DO.Spaces.Actions.DeleteBucketLifecycle
    Network.DO.Spaces.Actions.DeleteObject
    Network.DO.Spaces.Actions.GetBucketACLs
    Network.DO.Spaces.Actions.GetBucketCORS
    Network.DO.Spaces.Actions.GetBucketLifecycle
    Network.DO.Spaces.Actions.GetBucketLocation
    Network.DO.Spaces.Actions.GetObject
    Network.DO.Spaces.Actions.GetObjectACLs
    Network.DO.Spaces.Actions.GetObjectInfo
    Network.DO.Spaces.Actions.ListAllBuckets
    Network.DO.Spaces.Actions.ListBucket
    Network.DO.Spaces.Actions.SetBucketACLs
    Network.DO.Spaces.Actions.SetBucketCORS
    Network.DO.Spaces.Actions.SetBucketLifecycle
    Network.DO.Spaces.Actions.SetObjectACLs
    Network.DO.Spaces.Actions.UploadMultipart
    Network.DO.Spaces.Actions.UploadObject
    Network.DO.Spaces.Request
    Network.DO.Spaces.Types
    Network.DO.Spaces.Utils

  hs-source-dirs:   src
  default-language: Haskell2010

test-suite tests
  import:           common-options, common-extensions
  type:             exitcode-stdio-1.0
  hs-source-dirs:   tests
  build-depends:
    , base              >=4.13 && <5
    , bytestring        >=0.9
    , case-insensitive  >=1.0  && <1.3
    , conduit           ^>=1.3
    , conduit-extra     ^>=1.3
    , containers        ^>=0.6
    , do-spaces
    , generic-lens      >=1.1  && <2.2
    , hspec             >=2.0  && <3.0
    , http-client-tls   ^>=0.3
    , http-conduit      ^>=2.3
    , http-types        ^>=0.12
    , microlens         ^>=0.4
    , mtl               >=2.2
    , resourcet         ^>=1.2
    , text              ^>=1.2
    , time              >=1.8  && <1.13

  main-is:          Main.hs
  default-language: Haskell2010

test-suite io-tests
  import:           common-options, common-extensions

  if !flag(test-io)
    buildable: False

  type:             exitcode-stdio-1.0
  hs-source-dirs:   io-tests
  build-depends:
    , base           >=4.13 && <5
    , bytestring     >=0.9
    , conduit        ^>=1.3
    , conduit-extra  ^>=1.3
    , do-spaces
    , exceptions     ^>=0.10
    , extra          >=1.6  && <1.8
    , generic-lens   >=1.1  && <2.2
    , hspec          >=2.0  && <3.0
    , http-types     ^>=0.12
    , microlens      ^>=0.4
    , microlens-ghc  ^>=0.4
    , text           ^>=1.2
    , time           >=1.8  && <1.13

  main-is:          Main.hs
  default-language: Haskell2010