minio-hs/minio-hs.cabal
2024-05-01 13:27:01 -07:00

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