353 lines
11 KiB
Plaintext
353 lines
11 KiB
Plaintext
cabal-version: 2.4
|
|
name: minio-hs
|
|
version: 1.7.0
|
|
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-doc-files:
|
|
CHANGELOG.md
|
|
CONTRIBUTING.md
|
|
docs/API.md
|
|
README.md
|
|
extra-source-files:
|
|
examples/*.hs
|
|
stack.yaml
|
|
tested-with: GHC == 8.10.7
|
|
, GHC == 9.0.2
|
|
, GHC == 9.2.8
|
|
, GHC == 9.4.8
|
|
, GHC == 9.6.5
|
|
, GHC == 9.8.2
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/minio/minio-hs.git
|
|
|
|
Flag dev
|
|
Description: Build package in development mode
|
|
Default: False
|
|
Manual: True
|
|
|
|
common base-settings
|
|
ghc-options: -Wall
|
|
-Wcompat
|
|
-Widentities
|
|
-Wincomplete-uni-patterns
|
|
-Wincomplete-record-updates
|
|
-haddock
|
|
if impl(ghc >= 8.0)
|
|
ghc-options: -Wredundant-constraints
|
|
if impl(ghc >= 8.2)
|
|
ghc-options: -fhide-source-paths
|
|
if impl(ghc >= 8.4)
|
|
ghc-options: -Wpartial-fields
|
|
-- -Wmissing-export-lists
|
|
if impl(ghc >= 8.8)
|
|
ghc-options: -Wmissing-deriving-strategies
|
|
-Werror=missing-deriving-strategies
|
|
-- if impl(ghc >= 8.10)
|
|
-- ghc-options: -Wunused-packages -- disabled due to bug related to mixin config
|
|
if impl(ghc >= 9.0)
|
|
ghc-options: -Winvalid-haddock
|
|
if impl(ghc >= 9.2)
|
|
ghc-options: -Wredundant-bang-patterns
|
|
if flag(dev)
|
|
ghc-options: -Werror
|
|
|
|
default-language: Haskell2010
|
|
|
|
default-extensions: BangPatterns
|
|
, DerivingStrategies
|
|
, FlexibleContexts
|
|
, FlexibleInstances
|
|
, LambdaCase
|
|
, MultiParamTypeClasses
|
|
, MultiWayIf
|
|
, OverloadedStrings
|
|
, RankNTypes
|
|
, ScopedTypeVariables
|
|
, 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.XmlCommon
|
|
, Network.Minio.JsonParser
|
|
, Network.Minio.Credentials.Types
|
|
, Network.Minio.Credentials.AssumeRole
|
|
, Network.Minio.Credentials
|
|
|
|
mixins: base hiding (Prelude)
|
|
, relude (Relude as Prelude)
|
|
, relude
|
|
|
|
build-depends: base >= 4.7 && < 5
|
|
, relude >= 0.7 && < 2
|
|
, aeson >= 1.2 && < 3
|
|
, base64-bytestring >= 1.0
|
|
, binary >= 0.8.5.0
|
|
, bytestring >= 0.10
|
|
, case-insensitive >= 1.2
|
|
, conduit >= 1.3
|
|
, conduit-extra >= 1.3
|
|
, crypton-connection
|
|
, cryptonite >= 0.25
|
|
, cryptonite-conduit >= 0.2
|
|
, digest >= 0.0.1
|
|
, directory
|
|
, filepath >= 1.4
|
|
, http-client >= 0.5
|
|
, http-client-tls
|
|
, http-conduit >= 2.3
|
|
, http-types >= 0.12
|
|
, ini
|
|
, memory >= 0.14
|
|
, network-uri
|
|
, resourcet >= 1.2
|
|
, retry
|
|
, text >= 1.2
|
|
, time >= 1.9
|
|
, time-units ^>= 1.0.0
|
|
, transformers >= 0.5
|
|
, unliftio >= 0.2 && < 0.3
|
|
, unliftio-core >= 0.2 && < 0.3
|
|
, 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
|
|
, Network.Minio.Credentials
|
|
build-depends: minio-hs
|
|
, raw-strings-qq
|
|
, 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
|
|
, raw-strings-qq
|
|
, 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
|
|
, Network.Minio.Credentials
|
|
|
|
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
|
|
|
|
executable AssumeRole
|
|
import: examples-settings
|
|
scope: private
|
|
main-is: AssumeRole.hs
|