packages feed

pg-migrate-cli-1.0.0.0: pg-migrate-cli.cabal

cabal-version:   3.8
name:            pg-migrate-cli
version:         1.0.0.0
synopsis:        Reusable command parsers and renderers for pg-migrate
category:        Database
maintainer:      nadeem@gmail.com
description:
  Lets service executables mount pg-migrate commands while retaining ownership
  of configuration precedence, output streams, logging, and process exit.

license:         BSD-3-Clause
build-type:      Simple
extra-doc-files: CHANGELOG.md
data-files:
  test/golden/help/*.txt
  test/golden/json/*.json

common common
  default-language:   GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    MultilineStrings
    OverloadedLabels
    OverloadedStrings

  ghc-options:        -Wall -Wcompat

library
  import:          common
  hs-source-dirs:  src
  exposed-modules:
    Database.PostgreSQL.Migrate.CLI
    PgMigrate.CLI.Prelude

  other-modules:
    Database.PostgreSQL.Migrate.CLI.Handler
    Database.PostgreSQL.Migrate.CLI.Json
    Database.PostgreSQL.Migrate.CLI.Outcome
    Database.PostgreSQL.Migrate.CLI.Parser
    Database.PostgreSQL.Migrate.CLI.Text
    Database.PostgreSQL.Migrate.CLI.Types

  build-depends:
    , aeson                 >=2.2  && <2.3
    , base                  >=4.20 && <4.22
    , bytestring            >=0.12 && <0.13
    , containers            >=0.7  && <0.8
    , hasql                 >=1.10 && <1.11
    , optparse-applicative  >=0.19 && <0.20
    , pg-migrate            >=1.0  && <1.1
    , pg-migrate-embed      >=1.0  && <1.1
    , text                  >=2.1  && <2.2
    , time                  >=1.12 && <1.15

test-suite pg-migrate-cli-test
  import:          common
  type:            exitcode-stdio-1.0
  hs-source-dirs:  test/unit
  main-is:         Main.hs
  other-modules:
    Paths_pg_migrate_cli
    Test.Handler
    Test.Json
    Test.Parser

  autogen-modules: Paths_pg_migrate_cli
  build-depends:
    , aeson                 >=2.2  && <2.3
    , base                  >=4.20 && <4.22
    , bytestring            >=0.12 && <0.13
    , containers            >=0.7  && <0.8
    , directory             >=1.3  && <1.4
    , filepath              >=1.5  && <1.6
    , hasql                 >=1.10 && <1.11
    , optparse-applicative  >=0.19 && <0.20
    , pg-migrate
    , pg-migrate-cli
    , pg-migrate-embed
    , tasty                 >=1.5  && <1.6
    , tasty-hunit           >=0.10 && <0.11
    , text                  >=2.1  && <2.2
    , time                  >=1.12 && <1.15

test-suite pg-migrate-cli-integration
  import:         common
  type:           exitcode-stdio-1.0
  ghc-options:    -threaded
  hs-source-dirs: test/integration
  main-is:        Main.hs
  build-depends:
    , base            >=4.20 && <4.22
    , bytestring      >=0.12 && <0.13
    , containers      >=0.7  && <0.8
    , hasql           >=1.10 && <1.11
    , pg-migrate
    , pg-migrate-cli
    , tasty           >=1.5  && <1.6
    , tasty-hunit     >=0.10 && <0.11
    , text            >=2.1  && <2.2

executable pg-migrate-cli-help-fixture
  import:         common
  hs-source-dirs: test/help-fixture
  main-is:        Main.hs
  build-depends:
    , base                  >=4.20 && <4.22
    , bytestring            >=0.12 && <0.13
    , containers            >=0.7  && <0.8
    , optparse-applicative  >=0.19 && <0.20
    , pg-migrate
    , pg-migrate-cli