packages feed

minio-hs-1.5.2: minio-hs.cabal

cabal-version:       2.2
name:                minio-hs
version:             1.5.2
synopsis:            A MinIO Haskell Library for Amazon S3 compatible cloud
                     storage.
description:         The MinIO Haskell client library provides simple APIs to
                     access MinIO, Amazon S3 and other API compatible cloud
                     storage servers.
homepage:            https://github.com/minio/minio-hs#readme
license:             Apache-2.0
license-file:        LICENSE
author:              MinIO Dev Team
maintainer:          dev@min.io
category:            Network, AWS, Object Storage
build-type:          Simple
stability:           Experimental
extra-source-files:
                   CHANGELOG.md
                   CONTRIBUTING.md
                   docs/API.md
                   examples/*.hs
                   README.md
                   stack.yaml


common base-settings
  ghc-options:         -Wall
  default-language:    Haskell2010
  default-extensions:  BangPatterns
                     , FlexibleContexts
                     , FlexibleInstances
                     , MultiParamTypeClasses
                     , MultiWayIf
                     , NoImplicitPrelude
                     , OverloadedStrings
                     , RankNTypes
                     , ScopedTypeVariables
                     , TypeFamilies
                     , TupleSections
  other-modules:       Lib.Prelude
                     , Network.Minio.API
                     , Network.Minio.APICommon
                     , Network.Minio.Data
                     , Network.Minio.Data.ByteString
                     , Network.Minio.Data.Crypto
                     , Network.Minio.Data.Time
                     , Network.Minio.CopyObject
                     , Network.Minio.Errors
                     , Network.Minio.ListOps
                     , Network.Minio.PresignedOperations
                     , Network.Minio.PutObject
                     , Network.Minio.SelectAPI
                     , Network.Minio.Sign.V4
                     , Network.Minio.Utils
                     , Network.Minio.XmlGenerator
                     , Network.Minio.XmlParser
                     , Network.Minio.JsonParser
  build-depends:       base >= 4.7 && < 5
                     , protolude >= 0.2 && < 0.3
                     , aeson >= 1.2
                     , base64-bytestring >= 1.0
                     , binary >= 0.8.5.0
                     , bytestring >= 0.10
                     , case-insensitive >= 1.2
                     , conduit >= 1.3
                     , conduit-extra >= 1.3
                     , connection
                     , cryptonite >= 0.25
                     , cryptonite-conduit >= 0.2
                     , digest >= 0.0.1
                     , directory
                     , exceptions
                     , filepath >= 1.4
                     , http-client >= 0.5
                     , http-client-tls
                     , http-conduit >= 2.3
                     , http-types >= 0.12
                     , ini
                     , memory >= 0.14
                     , raw-strings-qq >= 1
                     , resourcet >= 1.2
                     , retry
                     , text >= 1.2
                     , time >= 1.8
                     , transformers >= 0.5
                     , unliftio >= 0.2
                     , unliftio-core >= 0.1
                     , unordered-containers >= 0.2
                     , xml-conduit >= 1.8

library
  import:              base-settings
  hs-source-dirs:      src
  exposed-modules:     Network.Minio
                     , Network.Minio.AdminAPI
                     , Network.Minio.S3API

Flag live-test
  Description: Build the test suite that runs against a live MinIO server
  Default: False
  Manual: True

test-suite minio-hs-live-server-test
  import:              base-settings
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test, src
  main-is:             LiveServer.hs
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  other-modules:       Network.Minio
                     , Network.Minio.S3API
                     , Network.Minio.AdminAPI
                     , Network.Minio.API.Test
                     , Network.Minio.JsonParser.Test
                     , Network.Minio.TestHelpers
                     , Network.Minio.Utils.Test
                     , Network.Minio.XmlGenerator.Test
                     , Network.Minio.XmlParser.Test
  build-depends:       minio-hs
                     , tasty
                     , tasty-hunit
                     , tasty-quickcheck
                     , tasty-smallcheck
                     , QuickCheck
  if !flag(live-test)
    buildable: False

test-suite minio-hs-test
  import:              base-settings
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test, src
  main-is:             Spec.hs
  build-depends:       minio-hs
                     , QuickCheck
                     , tasty
                     , tasty-hunit
                     , tasty-quickcheck
                     , tasty-smallcheck
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  other-modules:       Lib.Prelude
                     , Network.Minio
                     , Network.Minio.S3API
                     , Network.Minio.AdminAPI
                     , Network.Minio.TestHelpers
                     , Network.Minio.API.Test
                     , Network.Minio.JsonParser.Test
                     , Network.Minio.Utils.Test
                     , Network.Minio.XmlGenerator.Test
                     , Network.Minio.XmlParser.Test

Flag examples
  Description: Build the examples
  Default: False
  Manual: True

common examples-settings
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings
  build-depends:       base >= 4.7 && < 5
                     , bytestring
                     , case-insensitive
                     , conduit
                     , conduit-extra
                     , filepath
                     , minio-hs
                     , optparse-applicative
                     , text
                     , time
                     , unliftio
                     , unordered-containers
  hs-source-dirs:      examples
  if !flag(examples)
    buildable: False

executable BucketExists
  import:              examples-settings
  scope:               private
  main-is:             BucketExists.hs

executable CopyObject
  import:              examples-settings
  scope:               private
  main-is:             CopyObject.hs

executable FileUploader
  import:              examples-settings
  scope:               private
  main-is:             FileUploader.hs

executable GetConfig
  import:              examples-settings
  scope:               private
  main-is:             GetConfig.hs

executable GetObject
  import:              examples-settings
  scope:               private
  main-is:             GetObject.hs

executable HeadObject
  import:              examples-settings
  scope:               private
  main-is:             HeadObject.hs

executable Heal
  import:              examples-settings
  scope:               private
  main-is:             Heal.hs

executable ListBuckets
  import:              examples-settings
  scope:               private
  main-is:             ListBuckets.hs

executable ListIncompleteUploads
  import:              examples-settings
  scope:               private
  main-is:             ListIncompleteUploads.hs

executable ListObjects
  import:              examples-settings
  scope:               private
  main-is:             ListObjects.hs

executable MakeBucket
  import:              examples-settings
  scope:               private
  main-is:             MakeBucket.hs

executable PresignedGetObject
  import:              examples-settings
  scope:               private
  main-is:             PresignedGetObject.hs

executable PresignedPostPolicy
  import:              examples-settings
  scope:               private
  main-is:             PresignedPostPolicy.hs

executable PresignedPutObject
  import:              examples-settings
  scope:               private
  main-is:             PresignedPutObject.hs

executable PutObject
  import:              examples-settings
  scope:               private
  main-is:             PutObject.hs

executable RemoveBucket
  import:              examples-settings
  scope:               private
  main-is:             RemoveBucket.hs

executable RemoveIncompleteUpload
  import:              examples-settings
  scope:               private
  main-is:             RemoveIncompleteUpload.hs

executable RemoveObject
  import:              examples-settings
  scope:               private
  main-is:             RemoveObject.hs

executable SelectObject
  import:              examples-settings
  scope:               private
  main-is:             SelectObject.hs

executable ServerInfo
  import:              examples-settings
  scope:               private
  main-is:             ServerInfo.hs

executable ServiceSendRestart
  import:              examples-settings
  scope:               private
  main-is:             ServiceSendRestart.hs

executable ServiceSendStop
  import:              examples-settings
  scope:               private
  main-is:             ServiceSendStop.hs

executable ServiceStatus
  import:              examples-settings
  scope:               private
  main-is:             ServiceStatus.hs

executable SetConfig
  import:              examples-settings
  scope:               private
  main-is:             SetConfig.hs

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