1
1
mirror of https://github.com/qfpl/applied-fp-course.git synced 2024-11-29 16:55:12 +03:00
applied-fp-course/applied-fp-course.cabal
Sean Chalmers dd907523ba
Full Course Layout Change with a shuffle. (#54)
* Restructure entire course into a single library with multiple executable definitions. Makes working through the course a bit easier with respect to sandboxes, nix shells, and stack caching. Should be a side benefit of giving editor tooling a bit of an easier time. Lowers switch time between course levels.

* Readme updates to suit new structure.

Add comment to cabal file.

* Syntax error in Travis yml file.

Not sure where yet.

* Applied some linting suggestions to travis file

* Fixed missing comments in travis yml, removed duplicate executable entry in the cabal file

* Added changelog file, vcs entry to cabal file

* Fixing travis file, WIP.

* Still trying

* Added cabal.project file

* Still trying (Travis)

* Moved var declaration to higher level in travis.yml file.

* Forgo the complexity of hvrs script and go low-tech.

* Remove Haddocks from stack build.

Add extra-deps because what was a working stack build is now failing for some
reason, despite having the same version bounds and using the same LTS as before.

* Added more deps to extra-deps to appease the stackbeast.

* Updated base README

* Readme tweaks, level 03 test updates

* Moved Level07 to Level05, bumped other levels accordingly.

* Moved 'Main' to 'Core'.

Updated READMEs, first pass.

Updated Cabal file.

Updated Tests to handle change of Main to Core.

* Proof read #3616

Lots of small fixes for file paths, wording, some additional exercises. Fixed up
the tests to be more consistent as they've been reordered a few times and mostly
left to rot.

Readmes updated where needed.

New exercise added to level07 for using the general `ExceptT` type.

* Fix up some tests and avoid any more dynamic linking errors, I think

* Fix up cabal config for doctests, missing packages and some exposed-modules

* Removed use of Semigroup in tests to avoid CPP in cabal file for including semigroups package. Added bounds to base dependency for doctests test-suite
2018-05-08 09:02:51 +10:00

254 lines
9.0 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: applied-fp-course
-- 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 for educational purposes.
-- A longer description of the package.
description: Haskell course for people looking to start building larger applications.
-- The license under which the package is released.
license: BSD3
-- The file containing the license text.
license-file: LICENCE
-- 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: Copyright (C) 2017 Commonwealth Scientific and Industrial Research Organisation (CSIRO)
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
tested-with: GHC==8.4.1
, GHC==8.2.2
, GHC==8.0.2
, GHC==7.10.3
source-repository head
type: git
location: https://github.com/qfpl/applied-fp-course
library
-- Modules included in this executable, other than Main.
exposed-modules:
Level01.Core
, Level02.Core
, Level02.Types
, Level03.Core
, Level03.Types
, Level04.Conf
, Level04.DB
, Level04.DB.Types
, Level04.Core
, Level04.Types
, Level04.Types.CommentText
, Level04.Types.Error
, Level04.Types.Topic
, Level05.AppM
, Level05.Conf
, Level05.DB
, Level05.DB.Types
, Level05.Core
, Level05.Types
, Level05.Types.CommentText
, Level05.Types.Error
, Level05.Types.Topic
, Level06.AppM
, Level06.Conf
, Level06.Conf.CommandLine
, Level06.Conf.File
, Level06.DB
, Level06.DB.Types
, Level06.Core
, Level06.Types
, Level06.Types.CommentText
, Level06.Types.Error
, Level06.Types.Topic
, Level07.AppM
, Level07.Conf
, Level07.Conf.CommandLine
, Level07.Conf.File
, Level07.DB
, Level07.DB.Types
, Level07.Core
, Level07.Responses
, Level07.Types
, Level07.Types.CommentText
, Level07.Types.Error
, Level07.Types.Topic
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.8 && <4.12
, wai == 3.2.*
, warp == 3.2.*
, http-types >= 0.9 && < 0.13
, bytestring == 0.10.*
, text == 1.2.*
, optparse-applicative >= 0.13 && < 0.15
, aeson == 1.*
, mtl == 2.2.*
, time >= 1.4 && < 1.10
, sqlite-simple == 0.4.*
, sqlite-simple-errors == 0.6.*
, semigroups == 0.18.*
, transformers >= 0.4 && < 0.6
-- Directories containing source files.
hs-source-dirs: src
-- Base language which the package is written in.
default-language: Haskell2010
test-suite app-fp-tests
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Test.hs
other-modules: Level03Tests
, Level04Tests
, Level05Tests
, Level06Tests
, Level07Tests
build-depends: base >= 4.8 && <4.12
, applied-fp-course
, wai == 3.2.*
, wai-extra == 3.0.*
, hspec >= 2.2 && < 3.0
, hspec-wai >= 0.6 && < 0.10
, bytestring == 0.10.*
, text == 1.2.*
, mtl == 2.2.*
test-suite doctests
-- Base language which the package is written in.
default-language: Haskell2010
type: exitcode-stdio-1.0
other-modules: Level04Tests
, Level05Tests
, Level06Tests
, Level07Tests
ghc-options: -threaded
main-is: doctests.hs
hs-source-dirs: tests
build-depends: base >= 4.8 && <4.12
, applied-fp-course
, mtl == 2.2.*
, hspec >= 2.2 && < 3.0
, hspec-wai >= 0.6 && < 0.10
, doctest >= 0.11 && < 0.16
-- Level Executables
executable level01-exe
-- .hs or .lhs file containing the Main module.
main-is: Level01.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010
executable level02-exe
-- .hs or .lhs file containing the Main module.
main-is: Level02.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010
executable level03-exe
-- .hs or .lhs file containing the Main module.
main-is: Level03.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010
executable level04-exe
-- .hs or .lhs file containing the Main module.
main-is: Level04.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010
executable level05-exe
-- .hs or .lhs file containing the Main module.
main-is: Level05.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010
executable level06-exe
-- .hs or .lhs file containing the Main module.
main-is: Level06.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010
executable level07-exe
-- .hs or .lhs file containing the Main module.
main-is: Level07.hs
-- Directories containing source files.
hs-source-dirs: exe
-- Other library packages from which modules are imported.
build-depends: base >=4.8 && <4.12
, applied-fp-course
-- Base language which the package is written in.
default-language: Haskell2010