packages feed

rds-data-0.2.0.1: rds-data.cabal

cabal-version: 3.6

name:                   rds-data
version:                0.2.0.1
synopsis:               Codecs for use with AWS rds-data
description:            Codecs for use with AWS rds-data.
category:               Data
stability:              Experimental
homepage:               http://github.com/haskell-works/rds-data#readme
bug-reports:            https://github.com/haskell-works/rds-data/issues
author:                 John Ky
maintainer:             newhoggy@gmail.com
copyright:              2024 John Ky
license:                BSD-3-Clause
license-file:           LICENSE
tested-with:            GHC == 9.6.6, GHC == 9.4.8
build-type:             Simple
extra-source-files:     README.md

source-repository head
  type:                 git
  location:             https://github.com/haskell-works/rds-data

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

common aeson                                    { build-depends: aeson                                    >= 2.2        && < 2.3    }
common aeson-pretty                             { build-depends: aeson-pretty                             >= 0.8        && < 1.0    }
common amazonka                                 { build-depends: amazonka                                 >= 2.0        && < 3      }
common amazonka-core                            { build-depends: amazonka-core                            >= 2.0        && < 3      }
common amazonka-rds                             { build-depends: amazonka-rds                             >= 2.0        && < 3      }
common amazonka-rds-data                        { build-depends: amazonka-rds-data                        >= 2.0        && < 3      }
common amazonka-secretsmanager                  { build-depends: amazonka-secretsmanager                  >= 2.0        && < 3      }
common base64-bytestring                        { build-depends: base64-bytestring                        >= 1.2.1      && < 2      }
common bytestring                               { build-depends: bytestring                               >= 0.11       && < 0.13   }
common contravariant                            { build-depends: contravariant                            >= 1.5.5      && < 2      }
common doctest                                  { build-depends: doctest                                  >= 0.22.2     && < 0.23   }
common doctest-discover                         { build-depends: doctest-discover                         >= 0.2        && < 0.3    }
common generic-lens                             { build-depends: generic-lens                             >= 2.2.2.0    && < 3      }
common hedgehog                                 { build-depends: hedgehog                                 >= 1.4        && < 2      }
common hedgehog-extras                          { build-depends: hedgehog-extras                          >= 0.6.0.2    && < 0.7    }
common http-client                              { build-depends: http-client                              >= 0.5.14     && < 0.8    }
common hw-prelude                               { build-depends: hw-prelude                               >= 0.0.1.0    && < 0.1    }
common microlens                                { build-depends: microlens                                >= 0.4.13     && < 0.5    }
common mtl                                      { build-depends: mtl                                      >= 2          && < 3      }
common optparse-applicative                     { build-depends: optparse-applicative                     >= 0.18.1.0   && < 0.19   }
common resourcet                                { build-depends: resourcet                                >= 1.3        && < 2      }
common stm                                      { build-depends: stm                                      >= 2.5        && < 3      }
common tasty                                    { build-depends: tasty                                    >= 1.4        && < 2      }
common tasty-discover                           { build-depends: tasty-discover                           >= 5          && < 6      }
common tasty-hedgehog                           { build-depends: tasty-hedgehog                           >= 1.4        && < 2      }
common testcontainers                           { build-depends: testcontainers                           >= 0.5.0.0    && < 1      }
common text                                     { build-depends: text                                     >= 2.1        && < 3      }
common time                                     { build-depends: time                                     >= 1.12.2     && < 2      }
common transformers                             { build-depends: transformers                             >= 0.5        && < 0.7    }
common ulid                                     { build-depends: ulid                                     >= 0.3.2.0    && < 0.4    }
common uuid                                     { build-depends: uuid                                     >= 1.3.15     && < 1.4    }

common rds-data-codecs                          { build-depends: rds-data:codecs                          }
common rds-data-polysemy                        { build-depends: rds-data:polysemy                        }
common rds-data-testlib                         { build-depends: rds-data:testlib                         }

common project-config
  default-language:     Haskell2010
  default-extensions:   BlockArguments
                        DataKinds
                        DeriveGeneric
                        DuplicateRecordFields
                        FlexibleContexts
                        FlexibleInstances
                        ImportQualifiedPost
                        LambdaCase
                        NoFieldSelectors
                        OverloadedRecordDot
                        OverloadedStrings
                        RankNTypes
                        ScopedTypeVariables
                        TypeApplications
                        TypeOperators
                        TypeSynonymInstances

  ghc-options:          -Wall
                        -Wcompat
                        -Wincomplete-record-updates
                        -Wincomplete-uni-patterns
                        -Wno-unticked-promoted-constructors
                        -Wpartial-fields
                        -Wredundant-constraints
                        -Wunused-imports

library
  import:               base,
                        project-config,
                        rds-data-codecs,
  reexported-modules:   Data.RdsData,
                        Data.RdsData.Aws,
                        Data.RdsData.Decode.Array,
                        Data.RdsData.Decode.Row,
                        Data.RdsData.Decode.ToRows,
                        Data.RdsData.Decode.Value,
                        Data.RdsData.Default,
                        Data.RdsData.Encode.Array,
                        Data.RdsData.Encode.Param,
                        Data.RdsData.Encode.Params,
                        Data.RdsData.Encode.Row,
                        Data.RdsData.Encode.ToSqlParameters,
                        Data.RdsData.Encode.Value,
                        Data.RdsData.Internal.Aeson,
                        Data.RdsData.Internal.Convert,
                        Data.RdsData.Internal.Maybe,
                        Data.RdsData.Internal.Show,
                        Data.RdsData.Migration,
                        Data.RdsData.Migration.Types,
                        Data.RdsData.Orphans,
                        Data.RdsData.Types,
                        Data.RdsData.Types.Array,
                        Data.RdsData.Types.EncodedParams,
                        Data.RdsData.Types.Param,
                        Data.RdsData.Types.Value,

library codecs
  import:               base, project-config
                      , aeson
                      , amazonka-core
                      , amazonka-rds
                      , amazonka-rds-data
                      , amazonka-secretsmanager
                      , base64-bytestring
                      , bytestring
                      , contravariant
                      , generic-lens
                      , hw-prelude
                      , microlens
                      , mtl
                      , text
                      , time
                      , transformers
                      , ulid
                      , uuid
  visibility:           public
  exposed-modules:      Data.RdsData
                        Data.RdsData.Aws
                        Data.RdsData.Decode.Array
                        Data.RdsData.Decode.Row
                        Data.RdsData.Decode.ToRows
                        Data.RdsData.Decode.Value
                        Data.RdsData.Default
                        Data.RdsData.Encode.Array
                        Data.RdsData.Encode.Param
                        Data.RdsData.Encode.Params
                        Data.RdsData.Encode.Row
                        Data.RdsData.Encode.ToSqlParameters
                        Data.RdsData.Encode.Value
                        Data.RdsData.Internal.Aeson
                        Data.RdsData.Internal.Convert
                        Data.RdsData.Internal.Maybe
                        Data.RdsData.Internal.Show
                        Data.RdsData.Migration
                        Data.RdsData.Migration.Types
                        Data.RdsData.Orphans
                        Data.RdsData.Types
                        Data.RdsData.Types.Array
                        Data.RdsData.Types.EncodedParams
                        Data.RdsData.Types.Param
                        Data.RdsData.Types.Value
  other-modules:        Paths_rds_data
  autogen-modules:      Paths_rds_data
  hs-source-dirs:       src

test-suite rds-data-test
  import:               base, project-config
                      , aeson
                      , aeson-pretty
                      , amazonka-rds-data
                      , bytestring
                      , generic-lens
                      , hedgehog
                      , hedgehog-extras
                      , microlens
                      , rds-data-codecs
                      , tasty
                      , tasty-hedgehog
                      , text
                      , time
                      , ulid
                      , uuid
  type:                 exitcode-stdio-1.0
  main-is:              Spec.hs
  other-modules:        Data.RdsData.TestTypes
                        Data.RdsDataSpec
  hs-source-dirs:       test
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
  build-tool-depends:   tasty-discover:tasty-discover