packages feed

cloudy-0.1.0.0: cloudy.cabal

cabal-version:       3.4

name:                cloudy
version:             0.1.0.0
synopsis:            CLI tool to easily spin up and control compute instances in various cloud environments
-- description:         CLI tool
homepage:            https://github.com/cdepillabout/cloudy
license:             BSD-3-Clause
license-file:        LICENSE
author:              Dennis Gosnell
maintainer:          cdep.illabout@gmail.com
copyright:           2024-2024 Dennis Gosnell
category:            Productivity
build-type:          Custom
extra-source-files:  README.md
                   , CHANGELOG.md
                   , default.nix
                   , instance-setups/*.yaml
                   , nix/default.nix
                   , nix/overlay.nix
                   , shell.nix

custom-setup
                   -- Hackage apparently gives an error if you don't specify an
                   -- upper bound on your setup-depends. But I don't want to
                   -- have to remember to bump the upper bound of each of these
                   -- setup depends every time I want to make a release of cloudy,
                   -- especially since I already have upper bounds on important things
                   -- like base below.  I'm never going to want my bounds on setup-depends
                   -- to differ from the bounds on my actual depends.
  setup-depends:     base <999
                   , cabal-doctest >=1.0.2 && <1.1
                   , Cabal >= 3.8 && < 9999

library
  hs-source-dirs:      src
  exposed-modules:     Cloudy
                       Cloudy.Cli
                       Cloudy.Cli.Aws
                       Cloudy.Cli.Scaleway
                       Cloudy.Cli.Utils
                       Cloudy.Cmd
                       Cloudy.Cmd.Aws
                       Cloudy.Cmd.CopyFile
                       Cloudy.Cmd.Destroy
                       Cloudy.Cmd.List
                       Cloudy.Cmd.Scaleway
                       Cloudy.Cmd.Scaleway.Create
                       Cloudy.Cmd.Scaleway.ListImages
                       Cloudy.Cmd.Scaleway.ListInstanceTypes
                       Cloudy.Cmd.Scaleway.Utils
                       Cloudy.Cmd.Ssh
                       Cloudy.Cmd.Utils
                       Cloudy.Db
                       Cloudy.InstanceSetup
                       Cloudy.InstanceSetup.Types
                       Cloudy.LocalConfFile
                       Cloudy.NameGen
                       Cloudy.Path
                       Cloudy.Scaleway
                       Cloudy.Table
  other-modules:       Paths_cloudy
  autogen-modules:     Paths_cloudy
  build-depends:       base >= 4.17 && < 9999
                     , aeson
                     , bytestring
                     , containers
                     , deepseq
                     , directory
                     , file-embed
                     , filepath
                     , from-sum
                     , http-api-data
                     , http-client-tls
                     , http-media
                     , network
                     , network-bsd
                     , optparse-applicative
                     , parsec
                     , pretty-simple
                     , process
                     , random
                     , servant
                     , servant-client
                     , servant-client-core
                     , sqlite-simple
                     , text
                     , time
                     , unix
                     , uuid
                     , yaml
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates
  default-extensions:  DataKinds
                       DeriveDataTypeable
                       DeriveFunctor
                       DeriveGeneric
                       DerivingStrategies
                       DuplicateRecordFields
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       LambdaCase
                       MultiParamTypeClasses
                       NamedFieldPuns
                       NumericUnderscores
                       OverloadedLabels
                       OverloadedStrings
                       PolyKinds
                       RankNTypes
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneKindSignatures
                       TupleSections
                       TypeApplications
                       TypeFamilies
                       TypeOperators
  other-extensions:    DeriveAnyClass
                       OverloadedRecordDot
                       QuasiQuotes
                       TemplateHaskell
                       UndecidableInstances

executable cloudy
  main-is:             Main.hs
  hs-source-dirs:      app
  build-depends:       base
                     , cloudy
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

test-suite doctests
  type:                exitcode-stdio-1.0
  main-is:             DocTest.hs
  hs-source-dirs:      test
  build-depends:       base
                     , doctest
                     , QuickCheck
                     , template-haskell
                     , cloudy
  default-language:    Haskell2010
  ghc-options:         -Wall

test-suite cloudy-tests
  type:                exitcode-stdio-1.0
  main-is:             Test.hs
  hs-source-dirs:      test
  other-modules:       Test.Cloudy
                     , Test.Cloudy.InstanceSetup
  build-depends:       base
                     , cloudy
                     , tasty
                     , tasty-hunit
  default-language:    Haskell2010
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N

source-repository head
  type:     git
  location: git@github.com:cdepillabout/cloudy.git