From 14215d090a05d9b12981494ef623e7bc5b15b34c Mon Sep 17 00:00:00 2001 From: pulsation Date: Mon, 22 Oct 2018 21:42:11 +0200 Subject: [PATCH] chore(haskell): update base and add stack file --- haskell/README.md | 13 +++++++++---- haskell/gilded-rose.cabal | 7 ++++--- haskell/install_deps.sh | 8 -------- haskell/run.sh | 8 -------- haskell/stack.yaml | 3 +++ haskell/test.sh | 9 --------- 6 files changed, 16 insertions(+), 32 deletions(-) delete mode 100755 haskell/install_deps.sh delete mode 100755 haskell/run.sh create mode 100644 haskell/stack.yaml delete mode 100755 haskell/test.sh diff --git a/haskell/README.md b/haskell/README.md index acc21af9..835ea5f5 100644 --- a/haskell/README.md +++ b/haskell/README.md @@ -1,14 +1,19 @@ # Haskell port of the Gilded-Rose Kata -This is a Haskell port of the *Gilded-Rose-Kata*. For updates and pull-request -on this haskell port go to https://github.com/sheyll/gilded-rose-haskell +This is a Haskell port of the *Gilded-Rose-Kata*. + +## Prerequisite + +If you don't have a recent Stack version installed in your system, follow the +[installation instructions](https://docs.haskellstack.org/en/stable/install_and_upgrade/) +for your operating system. ## Building and Running -Run `./install_deps.sh` initially, then `./test.sh` to execute the tests after +Run `stack build` initially, then `stack test` to execute the tests after each refactoring. -To execute the program run `./run.sh [days]` where `[days]` denotes an optional +To execute the program run `stack run [days]` where `[days]` denotes an optional parameter for the number of days to simulate. Tests are in `test/GildedRoseSpec.hs`. Refer to http://hspec.github.io/ for diff --git a/haskell/gilded-rose.cabal b/haskell/gilded-rose.cabal index a1071826..dc5458e7 100644 --- a/haskell/gilded-rose.cabal +++ b/haskell/gilded-rose.cabal @@ -10,15 +10,16 @@ cabal-version: >=1.10 library exposed-modules: GildedRose - build-depends: base >=4.7 && <4.8 + build-depends: base >=4.7 hs-source-dirs: src default-language: Haskell2010 executable gilded-rose main-is: Main.hs - build-depends: gilded-rose, base >=4.7 && <4.8 + build-depends: gilded-rose, base >=4.7 hs-source-dirs: src default-language: Haskell2010 + other-modules: GildedRose test-suite spec type: exitcode-stdio-1.0 @@ -27,7 +28,7 @@ test-suite spec default-language: Haskell2010 main-is: Spec.hs other-modules: GildedRoseSpec - build-depends: base >=4.7 && <4.8 + build-depends: base >=4.7 , gilded-rose , hspec , hspec-expectations diff --git a/haskell/install_deps.sh b/haskell/install_deps.sh deleted file mode 100755 index 68eabbbd..00000000 --- a/haskell/install_deps.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -# -# Fetch and build all dependencies -# -set -eu - -cabal install --enable-tests --disable-optimization --dependencies-only -cabal -v0 configure --enable-tests --disable-optimization diff --git a/haskell/run.sh b/haskell/run.sh deleted file mode 100755 index 0a3c2158..00000000 --- a/haskell/run.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -# -# Rebuild the project and run Main.main with all arguments passed to this -# script. -# -set -eu - -cabal -v0 run $@ diff --git a/haskell/stack.yaml b/haskell/stack.yaml new file mode 100644 index 00000000..3e184f84 --- /dev/null +++ b/haskell/stack.yaml @@ -0,0 +1,3 @@ +resolver: lts-12.14 +packages: +- . diff --git a/haskell/test.sh b/haskell/test.sh deleted file mode 100755 index c88240cb..00000000 --- a/haskell/test.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -# -# Rebuild the project and run the hspec based unit tests. This could have been -# achieved by 'cabal test' but then the output would not be as colorful. -# -set -eu - -cabal -v0 build -./dist/build/spec/spec $@