name: spm
version: 0.1.1

default-extensions:
  - NoImplicitPrelude
  - DerivingStrategies
  - DeriveAnyClass
  - DataKinds
  - RecordWildCards
  - TypeFamilies
  - LambdaCase
  - ViewPatterns
  - MultiWayIf
other-extensions:
  - OverloadedStrings
  - TemplateHaskell
  - QuasiQuotes
  - UndecidableInstances
language: GHC2021
license: AGPL-3.0-or-later
ghc-options:
  - -Wall
  - -Wmissing-home-modules
  - -Wredundant-constraints
  - -Widentities
  - -Wincomplete-uni-patterns
  - -Werror
  - -fwarn-tabs
  - -j -O

library:
  dependencies:
    - base
    - servant
    - text
    - lens
    - case-insensitive
    - aeson
    - lens-aeson
    - jose
    - uuid
    - containers
    - aeson-casing
  source-dirs:
    - lib

executables:
  spm-server:
    dependencies:
      - spm
      - base
      - servant-server
      - warp-systemd
      - warp
      - attoparsec
      - text
      - bytestring
      - wai
      - wai-extra
      - lens
      - case-insensitive
      - http-types
      - persistent
      - persistent-postgresql
      - uuid
      - path-pieces
      - transformers
      - mtl
      - unliftio-pool
      - monad-logger
      - mmorph
      - unliftio-core
      - http-api-data
      - exceptions
      - aeson
      - filepath
      - jose
      - th-lift-instances
      - template-haskell
      - MonadRandom
      - cryptonite
      - vector
      - file-embed
      - random
      - time
      - lens-aeson
      - wai-app-static
      - file-embed

    source-dirs:
      - server

    main: Spm.Server
  spm-provision:
    dependencies:
      - base
      - jose
      - uuid
      - optparse-applicative
      - text
      - aeson
      - bytestring
      - lens

    source-dirs:
      - provision

    main: Spm.Provision