packages feed

pg-migrate-embed-1.1.0.0: pg-migrate-embed.cabal

cabal-version:   3.8
name:            pg-migrate-embed
version:         1.1.0.0
synopsis:        Compile-time ordered SQL manifests for pg-migrate
category:        Database
maintainer:      nadeem@gmail.com
description:
  Checks ordered migration manifests, embeds their exact SQL bytes, and provides
  crash-conservative migration authoring helpers.

license:         BSD-3-Clause
build-type:      Simple
extra-doc-files: CHANGELOG.md
data-files:
  test/fixtures/absolute/manifest
  test/fixtures/blank/*.sql
  test/fixtures/blank/manifest
  test/fixtures/comment/*.sql
  test/fixtures/comment/manifest
  test/fixtures/duplicate/*.sql
  test/fixtures/duplicate/manifest
  test/fixtures/missing/manifest
  test/fixtures/nested/manifest
  test/fixtures/non-sql/*.txt
  test/fixtures/non-sql/manifest
  test/fixtures/parent/manifest
  test/fixtures/unlisted/*.sql
  test/fixtures/unlisted/manifest
  test/fixtures/valid/migrations/*.sql
  test/fixtures/valid/migrations/manifest
  test/recompilation/fixture/*.cabal
  test/recompilation/fixture/app/*.hs
  test/recompilation/fixture/migrations/*.sql
  test/recompilation/fixture/migrations/manifest

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

  ghc-options:        -Wall -Wcompat

library
  import:             common
  default-extensions: TemplateHaskell
  hs-source-dirs:     src
  exposed-modules:
    Database.PostgreSQL.Migrate.Embed
    Database.PostgreSQL.Migrate.Embed.Internal
    Database.PostgreSQL.Migrate.Embed.RecompilePlugin

  other-modules:
    Database.PostgreSQL.Migrate.Embed.Authoring
    Database.PostgreSQL.Migrate.Embed.Manifest

  build-depends:
    , base              >=4.20 && <4.22
    , bytestring        >=0.12 && <0.13
    , directory         >=1.3  && <1.4
    , filepath          >=1.5  && <1.6
    , ghc               >=9.10 && <9.13
    , pg-migrate        >=1.1  && <1.2
    , template-haskell  >=2.22 && <2.24
    , text              >=2.1  && <2.2
    , unix              >=2.8  && <2.9

test-suite pg-migrate-embed-test
  import:          common
  type:            exitcode-stdio-1.0
  hs-source-dirs:  test/unit
  main-is:         Main.hs
  other-modules:
    Paths_pg_migrate_embed
    Test.Authoring
    Test.Component
    Test.Manifest

  autogen-modules: Paths_pg_migrate_embed
  build-depends:
    , 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
    , pg-migrate
    , pg-migrate-embed
    , tasty             >=1.5  && <1.6
    , tasty-hunit       >=0.10 && <0.11
    , text              >=2.1  && <2.2

test-suite pg-migrate-embed-recompilation
  import:          common
  type:            exitcode-stdio-1.0
  hs-source-dirs:  test/recompilation
  main-is:         Main.hs
  other-modules:   Paths_pg_migrate_embed
  autogen-modules: Paths_pg_migrate_embed
  build-depends:
    , base       >=4.20 && <4.22
    , directory  >=1.3  && <1.4
    , filepath   >=1.5  && <1.6
    , process    >=1.6  && <1.7
    , time       >=1.12 && <1.15