1
1
mirror of https://github.com/qfpl/applied-fp-course.git synced 2024-11-27 01:23:00 +03:00
applied-fp-course/level04/level04.cabal
Sean Chalmers 00e02a3f9d Rebuilt Conf File Read Handling
Made the error management for loading the JSON config file work as one might
expect it should. Expanded the error reporting expectations to include specific
file reading and JSON decoding errors.

The difficulties that will be had in handling the multiple either values will
motivate latter sections RE ExceptT (EitherT) transformers. However there is
nothing here that should be beyond people that do not know how transformers
work.

Added more doctests to the different moving parts to make things a bit clearer.
Added doctests to the cabal files and included a 'doctests.hs' to the tests
section.

default.nix files have been updated with the bonus dependency.
2017-09-12 11:21:27 +10:00

121 lines
3.8 KiB
Plaintext

-- Initial level01.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: level04
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- https://wiki.haskell.org/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1.0.0
-- A short (one-line) description of the package.
synopsis: Simplest of web apps
-- A longer description of the package.
-- description:
-- The license under which the package is released.
license: BSD3
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: QFPL @ Data61
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: sean.chalmers@data61.csiro.au
-- A copyright notice.
-- copyright:
category: Education
build-type: Simple
-- Extra files to be distributed with the package, such as examples or a
-- README.
extra-source-files: ChangeLog.md
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.10
library
-- Modules included in this executable, other than Main.
exposed-modules: FirstApp.Conf
, FirstApp.Types
, FirstApp.Main
ghc-options: -Wall
-fno-warn-unused-binds
-fno-warn-unused-do-bind
-fno-warn-unused-imports
-fno-warn-type-defaults
-ferror-spans
-- Other library packages from which modules are imported.
build-depends: base >=4.9 && <4.10
, wai == 3.2.*
, warp == 3.2.*
, http-types == 0.9.*
, bytestring == 0.10.*
, text == 1.2.*
, optparse-applicative == 0.13.*
, aeson == 1.*
-- Directories containing source files.
hs-source-dirs: src
-- Base language which the package is written in.
default-language: Haskell2010
executable level04
-- .hs or .lhs file containing the Main module.
main-is: Main.hs
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends: base >=4.9 && <4.10
, level04
-- Directories containing source files.
hs-source-dirs: bin
-- Base language which the package is written in.
default-language: Haskell2010
-- This is the declaration of a test-suite for your application. You may have
-- multiple test suites in a single application, provided they are named
-- differently.
test-suite level04-tests
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Test.hs
build-depends: base >= 4.9 && <=4.10
, level04
, wai == 3.2.*
, wai-extra == 3.0.*
, hspec == 2.4.*
, hspec-wai == 0.8.*
, bytestring == 0.10.*
test-suite doctests
-- Base language which the package is written in.
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -threaded
main-is: doctests.hs
hs-source-dirs: tests
build-depends: base
, doctest == 0.11.*