1
1
mirror of https://github.com/qfpl/applied-fp-course.git synced 2024-11-30 02:14:01 +03:00
applied-fp-course/applied-fp-course.cabal

254 lines
9.0 KiB
Plaintext
Raw Normal View History

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 02:02:51 +03:00
-- 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