commit
77ea599c63
14 changed files with 229 additions and 124 deletions
39
.travis.yml
39
.travis.yml
|
@ -64,17 +64,21 @@ install:
|
||||||
- BENCH=${BENCH---enable-benchmarks}
|
- BENCH=${BENCH---enable-benchmarks}
|
||||||
- TEST=${TEST---enable-tests}
|
- TEST=${TEST---enable-tests}
|
||||||
- HADDOCK=${HADDOCK-true}
|
- HADDOCK=${HADDOCK-true}
|
||||||
- INSTALLED=${INSTALLED-true}
|
- UNCONSTRAINED=${UNCONSTRAINED-true}
|
||||||
|
- NOINSTALLEDCONSTRAINTS=${NOINSTALLEDCONSTRAINTS-false}
|
||||||
- GHCHEAD=${GHCHEAD-false}
|
- GHCHEAD=${GHCHEAD-false}
|
||||||
- travis_retry cabal update -v
|
- travis_retry cabal update -v
|
||||||
- "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
|
- "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
|
||||||
- rm -fv cabal.project cabal.project.local
|
- rm -fv cabal.project cabal.project.local
|
||||||
- "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
|
- "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
|
||||||
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
|
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
|
||||||
- "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"doc/cookbook/basic-auth\" \"doc/cookbook/db-postgres-pool\" \"doc/cookbook/db-sqlite-simple\" \"doc/cookbook/https\" \"doc/cookbook/pagination\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\"\\n' > cabal.project"
|
- "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"doc/cookbook/basic-auth\" \"doc/cookbook/db-postgres-pool\" \"doc/cookbook/db-sqlite-simple\" \"doc/cookbook/file-upload\" \"doc/cookbook/https\" \"doc/cookbook/jwt-and-basic-auth\" \"doc/cookbook/pagination\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\"\\n' > cabal.project"
|
||||||
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
|
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
|
||||||
- "echo 'allow-newer: servant-auth-server:http-types,servant-auth-server:servant-server, http-media:base, servant-js:servant,servant-pagination:servant,servant-pagination:servant-server' >> cabal.project"
|
- "echo 'allow-newer: servant-auth-server:http-types,servant-auth-server:servant-server, servant-pagination:servant,servant-pagination:servant-server' >> cabal.project"
|
||||||
- cat cabal.project
|
- touch cabal.project.local
|
||||||
|
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
|
||||||
|
- cat cabal.project || true
|
||||||
|
- cat cabal.project.local || true
|
||||||
- if [ -f "servant/configure.ac" ]; then
|
- if [ -f "servant/configure.ac" ]; then
|
||||||
(cd "servant" && autoreconf -i);
|
(cd "servant" && autoreconf -i);
|
||||||
fi
|
fi
|
||||||
|
@ -105,9 +109,15 @@ install:
|
||||||
- if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then
|
- if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then
|
||||||
(cd "doc/cookbook/db-sqlite-simple" && autoreconf -i);
|
(cd "doc/cookbook/db-sqlite-simple" && autoreconf -i);
|
||||||
fi
|
fi
|
||||||
|
- if [ -f "doc/cookbook/file-upload/configure.ac" ]; then
|
||||||
|
(cd "doc/cookbook/file-upload" && autoreconf -i);
|
||||||
|
fi
|
||||||
- if [ -f "doc/cookbook/https/configure.ac" ]; then
|
- if [ -f "doc/cookbook/https/configure.ac" ]; then
|
||||||
(cd "doc/cookbook/https" && autoreconf -i);
|
(cd "doc/cookbook/https" && autoreconf -i);
|
||||||
fi
|
fi
|
||||||
|
- if [ -f "doc/cookbook/jwt-and-basic-auth/configure.ac" ]; then
|
||||||
|
(cd "doc/cookbook/jwt-and-basic-auth" && autoreconf -i);
|
||||||
|
fi
|
||||||
- if [ -f "doc/cookbook/pagination/configure.ac" ]; then
|
- if [ -f "doc/cookbook/pagination/configure.ac" ]; then
|
||||||
(cd "doc/cookbook/pagination" && autoreconf -i);
|
(cd "doc/cookbook/pagination" && autoreconf -i);
|
||||||
fi
|
fi
|
||||||
|
@ -118,7 +128,7 @@ install:
|
||||||
(cd "doc/cookbook/using-custom-monad" && autoreconf -i);
|
(cd "doc/cookbook/using-custom-monad" && autoreconf -i);
|
||||||
fi
|
fi
|
||||||
- rm -f cabal.project.freeze
|
- rm -f cabal.project.freeze
|
||||||
- rm -rf .ghc.environment.* "servant"/dist "servant-client"/dist "servant-client-core"/dist "servant-docs"/dist "servant-foreign"/dist "servant-server"/dist "doc/tutorial"/dist "doc/cookbook/basic-auth"/dist "doc/cookbook/db-postgres-pool"/dist "doc/cookbook/db-sqlite-simple"/dist "doc/cookbook/https"/dist "doc/cookbook/pagination"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist
|
- rm -rf .ghc.environment.* "servant"/dist "servant-client"/dist "servant-client-core"/dist "servant-docs"/dist "servant-foreign"/dist "servant-server"/dist "doc/tutorial"/dist "doc/cookbook/basic-auth"/dist "doc/cookbook/db-postgres-pool"/dist "doc/cookbook/db-sqlite-simple"/dist "doc/cookbook/file-upload"/dist "doc/cookbook/https"/dist "doc/cookbook/jwt-and-basic-auth"/dist "doc/cookbook/pagination"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist
|
||||||
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
|
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
|
||||||
|
|
||||||
# Here starts the actual work to be performed for the package under test;
|
# Here starts the actual work to be performed for the package under test;
|
||||||
|
@ -136,22 +146,26 @@ script:
|
||||||
- (cd "doc/cookbook/basic-auth" && cabal sdist)
|
- (cd "doc/cookbook/basic-auth" && cabal sdist)
|
||||||
- (cd "doc/cookbook/db-postgres-pool" && cabal sdist)
|
- (cd "doc/cookbook/db-postgres-pool" && cabal sdist)
|
||||||
- (cd "doc/cookbook/db-sqlite-simple" && cabal sdist)
|
- (cd "doc/cookbook/db-sqlite-simple" && cabal sdist)
|
||||||
|
- (cd "doc/cookbook/file-upload" && cabal sdist)
|
||||||
- (cd "doc/cookbook/https" && cabal sdist)
|
- (cd "doc/cookbook/https" && cabal sdist)
|
||||||
|
- (cd "doc/cookbook/jwt-and-basic-auth" && cabal sdist)
|
||||||
- (cd "doc/cookbook/pagination" && cabal sdist)
|
- (cd "doc/cookbook/pagination" && cabal sdist)
|
||||||
- (cd "doc/cookbook/structuring-apis" && cabal sdist)
|
- (cd "doc/cookbook/structuring-apis" && cabal sdist)
|
||||||
- (cd "doc/cookbook/using-custom-monad" && cabal sdist)
|
- (cd "doc/cookbook/using-custom-monad" && cabal sdist)
|
||||||
- echo -en 'travis_fold:end:sdist\\r'
|
- echo -en 'travis_fold:end:sdist\\r'
|
||||||
- echo Unpacking... && echo -en 'travis_fold:start:unpack\\r'
|
- echo Unpacking... && echo -en 'travis_fold:start:unpack\\r'
|
||||||
- mv "servant"/dist/servant-*.tar.gz "servant-client"/dist/servant-client-*.tar.gz "servant-client-core"/dist/servant-client-core-*.tar.gz "servant-docs"/dist/servant-docs-*.tar.gz "servant-foreign"/dist/servant-foreign-*.tar.gz "servant-server"/dist/servant-server-*.tar.gz "doc/tutorial"/dist/tutorial-*.tar.gz "doc/cookbook/basic-auth"/dist/cookbook-basic-auth-*.tar.gz "doc/cookbook/db-postgres-pool"/dist/cookbook-db-postgres-pool-*.tar.gz "doc/cookbook/db-sqlite-simple"/dist/cookbook-db-sqlite-simple-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/pagination"/dist/cookbook-pagination-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz ${DISTDIR}/
|
- mv "servant"/dist/servant-*.tar.gz "servant-client"/dist/servant-client-*.tar.gz "servant-client-core"/dist/servant-client-core-*.tar.gz "servant-docs"/dist/servant-docs-*.tar.gz "servant-foreign"/dist/servant-foreign-*.tar.gz "servant-server"/dist/servant-server-*.tar.gz "doc/tutorial"/dist/tutorial-*.tar.gz "doc/cookbook/basic-auth"/dist/cookbook-basic-auth-*.tar.gz "doc/cookbook/db-postgres-pool"/dist/cookbook-db-postgres-pool-*.tar.gz "doc/cookbook/db-sqlite-simple"/dist/cookbook-db-sqlite-simple-*.tar.gz "doc/cookbook/file-upload"/dist/cookbook-file-upload-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/jwt-and-basic-auth"/dist/cookbook-jwt-and-basic-auth-*.tar.gz "doc/cookbook/pagination"/dist/cookbook-pagination-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz ${DISTDIR}/
|
||||||
- cd ${DISTDIR} || false
|
- cd ${DISTDIR} || false
|
||||||
- find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
|
- find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
|
||||||
- "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal cookbook-basic-auth-*/*.cabal cookbook-db-postgres-pool-*/*.cabal cookbook-db-sqlite-simple-*/*.cabal cookbook-https-*/*.cabal cookbook-pagination-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal\\n' > cabal.project"
|
- "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal cookbook-basic-auth-*/*.cabal cookbook-db-postgres-pool-*/*.cabal cookbook-db-sqlite-simple-*/*.cabal cookbook-file-upload-*/*.cabal cookbook-https-*/*.cabal cookbook-jwt-and-basic-auth-*/*.cabal cookbook-pagination-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal\\n' > cabal.project"
|
||||||
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
|
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
|
||||||
- "echo 'allow-newer: servant-auth-server:http-types,servant-auth-server:servant-server, http-media:base, servant-js:servant,servant-pagination:servant,servant-pagination:servant-server' >> cabal.project"
|
- "echo 'allow-newer: servant-auth-server:http-types,servant-auth-server:servant-server, servant-pagination:servant,servant-pagination:servant-server' >> cabal.project"
|
||||||
- cat cabal.project
|
- touch cabal.project.local
|
||||||
|
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
|
||||||
|
- cat cabal.project || true
|
||||||
|
- cat cabal.project.local || true
|
||||||
- echo -en 'travis_fold:end:unpack\\r'
|
- echo -en 'travis_fold:end:unpack\\r'
|
||||||
|
|
||||||
|
|
||||||
- echo Building with tests and benchmarks... && echo -en 'travis_fold:start:build-everything\\r'
|
- echo Building with tests and benchmarks... && echo -en 'travis_fold:start:build-everything\\r'
|
||||||
# build & run tests, build benchmarks
|
# build & run tests, build benchmarks
|
||||||
- cabal new-build -w ${HC} ${TEST} ${BENCH} all
|
- cabal new-build -w ${HC} ${TEST} ${BENCH} all
|
||||||
|
@ -164,5 +178,10 @@ script:
|
||||||
- if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
|
- if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
|
||||||
|
|
||||||
- echo -en 'travis_fold:end:haddock\\r'
|
- echo -en 'travis_fold:end:haddock\\r'
|
||||||
|
- echo Building without installed constraints for packages in global-db... && echo -en 'travis_fold:start:build-installed\\r'
|
||||||
|
# Build without installed constraints for packages in global-db
|
||||||
|
- if $UNCONSTRAINED; then rm -f cabal.project.local; echo cabal new-build -w ${HC} --disable-tests --disable-benchmarks all; else echo "Not building without installed constraints"; fi
|
||||||
|
|
||||||
|
- echo -en 'travis_fold:end:build-installed\\r'
|
||||||
# REGENDATA ["--config=cabal.make-travis-yml","--output=.travis.yml","cabal.project"]
|
# REGENDATA ["--config=cabal.make-travis-yml","--output=.travis.yml","cabal.project"]
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -6,7 +6,6 @@ install-dependencies-step: False
|
||||||
|
|
||||||
-- this speed-ups the build a little, but we have to check these for release
|
-- this speed-ups the build a little, but we have to check these for release
|
||||||
no-tests-no-benchmarks: False
|
no-tests-no-benchmarks: False
|
||||||
build-with-installed-step: False
|
|
||||||
|
|
||||||
-- Don't run cabal check, as cookbook examples won't pass it
|
-- Don't run cabal check, as cookbook examples won't pass it
|
||||||
cabal-check: False
|
cabal-check: False
|
||||||
|
|
|
@ -11,11 +11,9 @@ packages: servant/
|
||||||
doc/cookbook/basic-auth
|
doc/cookbook/basic-auth
|
||||||
doc/cookbook/db-postgres-pool
|
doc/cookbook/db-postgres-pool
|
||||||
doc/cookbook/db-sqlite-simple
|
doc/cookbook/db-sqlite-simple
|
||||||
-- MkLink changed
|
doc/cookbook/file-upload
|
||||||
-- doc/cookbook/file-upload
|
|
||||||
doc/cookbook/https
|
doc/cookbook/https
|
||||||
-- servant-auth-* doesn't support GHC-8.4
|
doc/cookbook/jwt-and-basic-auth
|
||||||
-- doc/cookbook/jwt-and-basic-auth
|
|
||||||
doc/cookbook/pagination
|
doc/cookbook/pagination
|
||||||
doc/cookbook/structuring-apis
|
doc/cookbook/structuring-apis
|
||||||
doc/cookbook/using-custom-monad
|
doc/cookbook/using-custom-monad
|
||||||
|
@ -30,9 +28,5 @@ constraints:
|
||||||
memory <0.14.12 || >0.14.12
|
memory <0.14.12 || >0.14.12
|
||||||
|
|
||||||
allow-newer:
|
allow-newer:
|
||||||
http-media:base
|
|
||||||
|
|
||||||
allow-newer:
|
|
||||||
servant-js:servant,
|
|
||||||
servant-pagination:servant,
|
servant-pagination:servant,
|
||||||
servant-pagination:servant-server
|
servant-pagination:servant-server
|
||||||
|
|
|
@ -4,10 +4,50 @@
|
||||||
0.14
|
0.14
|
||||||
----
|
----
|
||||||
|
|
||||||
- Add a `hoistClientMonad` method to the `HasClient` typeclass, for
|
- `Stream` takes a status code argument
|
||||||
changing the monad in which client functions run.
|
|
||||||
|
```diff
|
||||||
|
-Stream method framing ctype a
|
||||||
|
+Stream method status framing ctype a
|
||||||
|
```
|
||||||
|
|
||||||
|
([#966](https://github.com/haskell-servant/servant/pull/966)
|
||||||
|
[#972](https://github.com/haskell-servant/servant/pull/972))
|
||||||
|
|
||||||
|
- `ToStreamGenerator` definition changed, so it's possible to write an instance
|
||||||
|
for conduits.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
-class ToStreamGenerator f a where
|
||||||
|
- toStreamGenerator :: f a -> StreamGenerator a
|
||||||
|
+class ToStreamGenerator a b | a -> b where
|
||||||
|
+ toStreamGenerator :: a -> StreamGenerator b
|
||||||
|
```
|
||||||
|
|
||||||
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
|
- Added `NoFraming` streaming strategy
|
||||||
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
|
- *servant-client-core* Free `Client` implementation.
|
||||||
|
Useful for testing `HasClient` instances.
|
||||||
|
([#920](https://github.com/haskell-servant/servant/pull/920))
|
||||||
|
|
||||||
|
- *servant-client-core* Add `hoistClient` to `HasClient`.
|
||||||
|
Just like `hoistServer` allows us to change the monad in which request handlers
|
||||||
|
of a web application live in, we also have `hoistClient` for changing the monad
|
||||||
|
in which *client functions* live.
|
||||||
|
Read [tutorial section for more information](https://haskell-servant.readthedocs.io/en/release-0.14/tutorial/Client.html#changing-the-monad-the-client-functions-live-in).
|
||||||
([#936](https://github.com/haskell-servant/servant/pull/936))
|
([#936](https://github.com/haskell-servant/servant/pull/936))
|
||||||
|
|
||||||
|
iF you have own combinators, you'll need to define a new method of
|
||||||
|
`HasClient` class, for example:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
type Client m (MyCombinator :> api) = MyValue :> Client m api
|
||||||
|
hoistClientMonad pm _ nt cl = hoistClientMonad pm (Proxy :: Proxy api) nt . cl
|
||||||
|
```
|
||||||
|
|
||||||
0.13.0.1
|
0.13.0.1
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
@ -51,12 +51,11 @@ library
|
||||||
base >= 4.7 && < 4.12
|
base >= 4.7 && < 4.12
|
||||||
, bytestring >= 0.10.4.0 && < 0.11
|
, bytestring >= 0.10.4.0 && < 0.11
|
||||||
, containers >= 0.5.5.1 && < 0.6
|
, containers >= 0.5.5.1 && < 0.6
|
||||||
, mtl >= 2.1 && < 2.3
|
|
||||||
, text >= 1.2.3.0 && < 1.3
|
, text >= 1.2.3.0 && < 1.3
|
||||||
|
|
||||||
if !impl(ghc >= 8.0)
|
if !impl(ghc >= 8.0)
|
||||||
build-depends:
|
build-depends:
|
||||||
semigroups >=0.18.3 && <0.19
|
semigroups >=0.18.4 && <0.19
|
||||||
|
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
|
@ -65,16 +64,16 @@ library
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
||||||
-- Here can be exceptions if we really need features from the newer versions.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
build-depends:
|
build-depends:
|
||||||
base-compat >= 0.9.3 && < 0.11
|
base-compat >= 0.10.1 && < 0.11
|
||||||
, base64-bytestring >= 1.0.0.1 && < 1.1
|
, base64-bytestring >= 1.0.0.1 && < 1.1
|
||||||
, exceptions >= 0.8.3 && < 0.11
|
, exceptions >= 0.10.0 && < 0.11
|
||||||
, free >= 5.0.1 && < 5.1
|
, free >= 5.0.2 && < 5.1
|
||||||
, generics-sop >= 0.3.1.0 && < 0.4
|
, generics-sop >= 0.3.2.0 && < 0.4
|
||||||
, http-api-data >= 0.3.7.1 && < 0.4
|
, http-api-data >= 0.3.8.1 && < 0.4
|
||||||
, http-media >= 0.7.1.1 && < 0.8
|
, http-media >= 0.7.1.2 && < 0.8
|
||||||
, http-types >= 0.12 && < 0.13
|
, http-types >= 0.12.1 && < 0.13
|
||||||
, network-uri >= 2.6.1.0 && < 2.7
|
, network-uri >= 2.6.1.0 && < 2.7
|
||||||
, safe >= 0.3.15 && < 0.4
|
, safe >= 0.3.17 && < 0.4
|
||||||
|
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
@ -99,8 +98,8 @@ test-suite spec
|
||||||
-- Additonal dependencies
|
-- Additonal dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
deepseq >= 1.3.0.2 && <1.5
|
deepseq >= 1.3.0.2 && <1.5
|
||||||
, hspec >= 2.4.4 && <2.6
|
, hspec >= 2.4.1 && <2.6
|
||||||
, QuickCheck >= 2.10.1 && < 2.12
|
, QuickCheck >= 2.11.3 && < 2.12
|
||||||
|
|
||||||
build-tool-depends:
|
build-tool-depends:
|
||||||
hspec-discover:hspec-discover >= 2.4.4 && <2.6
|
hspec-discover:hspec-discover >= 2.5.1 && <2.6
|
||||||
|
|
|
@ -4,10 +4,45 @@
|
||||||
0.14
|
0.14
|
||||||
----
|
----
|
||||||
|
|
||||||
- Add `hoistClient` for changing the monad in which
|
- `Stream` takes a status code argument
|
||||||
client functions run.
|
|
||||||
|
```diff
|
||||||
|
-Stream method framing ctype a
|
||||||
|
+Stream method status framing ctype a
|
||||||
|
```
|
||||||
|
|
||||||
|
([#966](https://github.com/haskell-servant/servant/pull/966)
|
||||||
|
[#972](https://github.com/haskell-servant/servant/pull/972))
|
||||||
|
|
||||||
|
- `ToStreamGenerator` definition changed, so it's possible to write an instance
|
||||||
|
for conduits.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
-class ToStreamGenerator f a where
|
||||||
|
- toStreamGenerator :: f a -> StreamGenerator a
|
||||||
|
+class ToStreamGenerator a b | a -> b where
|
||||||
|
+ toStreamGenerator :: a -> StreamGenerator b
|
||||||
|
```
|
||||||
|
|
||||||
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
|
- Added `NoFraming` streaming strategy
|
||||||
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
|
- *servant-client-core* Add `hoistClient` to `HasClient`.
|
||||||
|
Just like `hoistServer` allows us to change the monad in which request handlers
|
||||||
|
of a web application live in, we also have `hoistClient` for changing the monad
|
||||||
|
in which *client functions* live.
|
||||||
|
Read [tutorial section for more information](https://haskell-servant.readthedocs.io/en/release-0.14/tutorial/Client.html#changing-the-monad-the-client-functions-live-in).
|
||||||
([#936](https://github.com/haskell-servant/servant/pull/936))
|
([#936](https://github.com/haskell-servant/servant/pull/936))
|
||||||
|
|
||||||
|
- *servant-client* Add more constructors to `RequestBody`, including
|
||||||
|
`RequestBodyStream`.
|
||||||
|
*Note:* we are looking for http-library agnostic API,
|
||||||
|
so the might change again soon.
|
||||||
|
Tell us which constructors are useful for you!
|
||||||
|
([#913](https://github.com/haskell-servant/servant/pull/913))
|
||||||
|
|
||||||
0.13.0.1
|
0.13.0.1
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ library
|
||||||
, transformers >= 0.3.0.0 && < 0.6
|
, transformers >= 0.3.0.0 && < 0.6
|
||||||
|
|
||||||
if !impl(ghc >= 8.0)
|
if !impl(ghc >= 8.0)
|
||||||
build-depends: semigroups >=0.18.3 && <0.19
|
build-depends: semigroups >=0.18.4 && <0.19
|
||||||
|
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
|
@ -60,19 +60,16 @@ library
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
||||||
-- Here can be exceptions if we really need features from the newer versions.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
build-depends:
|
build-depends:
|
||||||
aeson >= 1.2.3.0 && < 1.5
|
base-compat >= 0.10.1 && < 0.11
|
||||||
, base-compat >= 0.9.3 && < 0.11
|
, http-client >= 0.5.12 && < 0.6
|
||||||
, attoparsec >= 0.13.2.0 && < 0.14
|
, http-media >= 0.7.1.2 && < 0.8
|
||||||
, http-client >= 0.5.7.1 && < 0.6
|
, http-types >= 0.12.1 && < 0.13
|
||||||
, http-client-tls >= 0.3.5.1 && < 0.4
|
, exceptions >= 0.10.0 && < 0.11
|
||||||
, http-media >= 0.7.1.1 && < 0.8
|
, monad-control >= 1.0.2.3 && < 1.1
|
||||||
, http-types >= 0.12 && < 0.13
|
, semigroupoids >= 5.2.2 && < 5.3
|
||||||
, exceptions >= 0.8.3 && < 0.11
|
, stm >= 2.4.5.0 && < 2.5
|
||||||
, monad-control >= 1.0.0.4 && < 1.1
|
, transformers-base >= 0.4.5.2 && < 0.5
|
||||||
, semigroupoids >= 5.2.1 && < 5.3
|
, transformers-compat >= 0.6.2 && < 0.7
|
||||||
, stm >= 2.4.4.1 && < 2.5
|
|
||||||
, transformers-base >= 0.4.4 && < 0.5
|
|
||||||
, transformers-compat >= 0.5.1 && < 0.7
|
|
||||||
|
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
@ -97,10 +94,8 @@ test-suite spec
|
||||||
, aeson
|
, aeson
|
||||||
, base-compat
|
, base-compat
|
||||||
, bytestring
|
, bytestring
|
||||||
, containers
|
|
||||||
, http-api-data
|
, http-api-data
|
||||||
, http-client
|
, http-client
|
||||||
, http-media
|
|
||||||
, http-types
|
, http-types
|
||||||
, mtl
|
, mtl
|
||||||
, servant-client
|
, servant-client
|
||||||
|
@ -117,18 +112,16 @@ test-suite spec
|
||||||
|
|
||||||
-- Additonal dependencies
|
-- Additonal dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
deepseq >= 1.3.0.2 && < 1.5
|
generics-sop >= 0.3.2.0 && < 0.4
|
||||||
, generics-sop >= 0.3.1.0 && < 0.4
|
, hspec >= 2.5.1 && < 2.6
|
||||||
, hspec >= 2.4.4 && < 2.6
|
|
||||||
, HUnit >= 1.6 && < 1.7
|
, HUnit >= 1.6 && < 1.7
|
||||||
, random-bytestring >= 0.1 && < 0.2
|
|
||||||
, network >= 2.6.3.2 && < 2.8
|
, network >= 2.6.3.2 && < 2.8
|
||||||
, QuickCheck >= 2.10.1 && < 2.12
|
, QuickCheck >= 2.10.1 && < 2.12
|
||||||
, servant == 0.14.*
|
, servant == 0.14.*
|
||||||
, servant-server == 0.14.*
|
, servant-server == 0.14.*
|
||||||
|
|
||||||
build-tool-depends:
|
build-tool-depends:
|
||||||
hspec-discover:hspec-discover >= 2.4.4 && < 2.6
|
hspec-discover:hspec-discover >= 2.5.1 && < 2.6
|
||||||
|
|
||||||
test-suite readme
|
test-suite readme
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
|
@ -136,3 +129,4 @@ test-suite readme
|
||||||
build-depends: base, servant, http-client, text, servant-client, markdown-unlit
|
build-depends: base, servant, http-client, text, servant-client, markdown-unlit
|
||||||
build-tool-depends: markdown-unlit:markdown-unlit
|
build-tool-depends: markdown-unlit:markdown-unlit
|
||||||
ghc-options: -pgmL markdown-unlit
|
ghc-options: -pgmL markdown-unlit
|
||||||
|
default-language: Haskell2010
|
||||||
|
|
|
@ -64,7 +64,7 @@ library
|
||||||
, case-insensitive >= 1.2.0.10 && < 1.3
|
, case-insensitive >= 1.2.0.10 && < 1.3
|
||||||
, control-monad-omega >= 0.3.1 && < 0.4
|
, control-monad-omega >= 0.3.1 && < 0.4
|
||||||
, hashable >= 1.2.6.1 && < 1.3
|
, hashable >= 1.2.6.1 && < 1.3
|
||||||
, http-media >= 0.7.1.1 && < 0.8
|
, http-media >= 0.7.0 && < 0.8
|
||||||
, http-types >= 0.12 && < 0.13
|
, http-types >= 0.12 && < 0.13
|
||||||
, lens >= 4.15.4 && < 4.17
|
, lens >= 4.15.4 && < 4.17
|
||||||
, string-conversions >= 0.4.0.1 && < 0.5
|
, string-conversions >= 0.4.0.1 && < 0.5
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
name: servant-foreign
|
name: servant-foreign
|
||||||
version: 0.11.1
|
version: 0.11.1
|
||||||
|
x-revision: 2
|
||||||
synopsis: Helpers for generating clients for servant APIs in any programming language
|
synopsis: Helpers for generating clients for servant APIs in any programming language
|
||||||
description:
|
description:
|
||||||
Helper types and functions for generating client functions for servant APIs in any programming language
|
Helper types and functions for generating client functions for servant APIs in any programming language
|
||||||
|
|
|
@ -1,6 +1,52 @@
|
||||||
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
|
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md)
|
||||||
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
|
||||||
|
|
||||||
|
0.14
|
||||||
|
----
|
||||||
|
|
||||||
|
- `Stream` takes a status code argument
|
||||||
|
|
||||||
|
```diff
|
||||||
|
-Stream method framing ctype a
|
||||||
|
+Stream method status framing ctype a
|
||||||
|
```
|
||||||
|
|
||||||
|
([#966](https://github.com/haskell-servant/servant/pull/966)
|
||||||
|
[#972](https://github.com/haskell-servant/servant/pull/972))
|
||||||
|
|
||||||
|
- `ToStreamGenerator` definition changed, so it's possible to write an instance
|
||||||
|
for conduits.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
-class ToStreamGenerator f a where
|
||||||
|
- toStreamGenerator :: f a -> StreamGenerator a
|
||||||
|
+class ToStreamGenerator a b | a -> b where
|
||||||
|
+ toStreamGenerator :: a -> StreamGenerator b
|
||||||
|
```
|
||||||
|
|
||||||
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
|
- Added `NoFraming` streaming strategy
|
||||||
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
|
- *servant-server* File serving in polymorphic monad.
|
||||||
|
i.e. Generalised types of `serveDirectoryFileServer` etc functions in
|
||||||
|
`Servant.Utils.StaticFiles`
|
||||||
|
([#953](https://github.com/haskell-servant/servant/pull/953))
|
||||||
|
|
||||||
|
- *servant-server* `ReqBody` content type check is recoverable.
|
||||||
|
This allows writing APIs like:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
ReqBody '[JSON] Int :> Post '[PlainText] Int
|
||||||
|
:<|> ReqBody '[PlainText] Int :> Post '[PlainText] Int
|
||||||
|
```
|
||||||
|
|
||||||
|
which is useful when handlers are subtly different,
|
||||||
|
for example may do less work.
|
||||||
|
([#937](https://github.com/haskell-servant/servant/pull/937))
|
||||||
|
|
||||||
|
|
||||||
0.13.0.1
|
0.13.0.1
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ custom-setup
|
||||||
setup-depends:
|
setup-depends:
|
||||||
base >= 4 && <5,
|
base >= 4 && <5,
|
||||||
Cabal,
|
Cabal,
|
||||||
cabal-doctest >= 1.0.1 && <1.1
|
cabal-doctest >= 1.0.6 && <1.1
|
||||||
|
|
||||||
library
|
library
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
|
@ -71,7 +71,7 @@ library
|
||||||
|
|
||||||
if !impl(ghc >= 8.0)
|
if !impl(ghc >= 8.0)
|
||||||
build-depends:
|
build-depends:
|
||||||
semigroups >= 0.18.3 && < 0.19
|
semigroups >= 0.18.4 && < 0.19
|
||||||
|
|
||||||
-- Servant dependencies
|
-- Servant dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
|
@ -80,28 +80,22 @@ library
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
||||||
-- Here can be exceptions if we really need features from the newer versions.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
build-depends:
|
build-depends:
|
||||||
aeson >= 1.2.3.0 && < 1.5
|
base-compat >= 0.10.1 && < 0.11
|
||||||
, base-compat >= 0.9.3 && < 0.11
|
|
||||||
, attoparsec >= 0.13.2.0 && < 0.14
|
|
||||||
, base64-bytestring >= 1.0.0.1 && < 1.1
|
, base64-bytestring >= 1.0.0.1 && < 1.1
|
||||||
, exceptions >= 0.8.3 && < 0.11
|
, exceptions >= 0.10.0 && < 0.11
|
||||||
, http-api-data >= 0.3.7.1 && < 0.4
|
, http-api-data >= 0.3.8.1 && < 0.4
|
||||||
, http-media >= 0.7.1.1 && < 0.8
|
, http-media >= 0.7.1.2 && < 0.8
|
||||||
, http-types >= 0.12 && < 0.13
|
, http-types >= 0.12.1 && < 0.13
|
||||||
, network-uri >= 2.6.1.0 && < 2.7
|
, network-uri >= 2.6.1.0 && < 2.7
|
||||||
, monad-control >= 1.0.0.4 && < 1.1
|
, monad-control >= 1.0.2.3 && < 1.1
|
||||||
, network >= 2.6.3.2 && < 2.8
|
, network >= 2.6.3.5 && < 2.8
|
||||||
, safe >= 0.3.15 && < 0.4
|
|
||||||
, split >= 0.2.3.2 && < 0.3
|
|
||||||
, string-conversions >= 0.4.0.1 && < 0.5
|
, string-conversions >= 0.4.0.1 && < 0.5
|
||||||
, system-filepath >= 0.4 && < 0.5
|
, resourcet >= 1.1.11 && < 1.3
|
||||||
, resourcet >= 1.1.9 && < 1.3
|
|
||||||
, tagged >= 0.8.5 && < 0.9
|
, tagged >= 0.8.5 && < 0.9
|
||||||
, transformers-base >= 0.4.4 && < 0.5
|
, transformers-base >= 0.4.4 && < 0.5
|
||||||
, transformers-compat >= 0.5.1 && < 0.7
|
, transformers-compat >= 0.6.2 && < 0.7
|
||||||
, wai >= 3.2.1.1 && < 3.3
|
, wai >= 3.2.1.1 && < 3.3
|
||||||
, wai-app-static >= 3.1.6.1 && < 3.2
|
, wai-app-static >= 3.1.6.1 && < 3.2
|
||||||
, warp >= 3.2.13 && < 3.3
|
|
||||||
, word8 >= 0.1.3 && < 0.2
|
, word8 >= 0.1.3 && < 0.2
|
||||||
|
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
|
@ -120,11 +114,13 @@ executable greet
|
||||||
base
|
base
|
||||||
, servant
|
, servant
|
||||||
, servant-server
|
, servant-server
|
||||||
, aeson
|
|
||||||
, warp
|
|
||||||
, wai
|
, wai
|
||||||
, text
|
, text
|
||||||
|
|
||||||
|
build-depends:
|
||||||
|
aeson >= 1.3.1.1 && < 1.5
|
||||||
|
, warp >= 3.2.13 && < 3.3
|
||||||
|
|
||||||
test-suite spec
|
test-suite spec
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
@ -148,13 +144,10 @@ test-suite spec
|
||||||
build-depends:
|
build-depends:
|
||||||
base
|
base
|
||||||
, base-compat
|
, base-compat
|
||||||
, aeson
|
|
||||||
, base64-bytestring
|
, base64-bytestring
|
||||||
, bytestring
|
, bytestring
|
||||||
, exceptions
|
|
||||||
, http-types
|
, http-types
|
||||||
, mtl
|
, mtl
|
||||||
, network
|
|
||||||
, resourcet
|
, resourcet
|
||||||
, safe
|
, safe
|
||||||
, servant
|
, servant
|
||||||
|
@ -164,27 +157,26 @@ test-suite spec
|
||||||
, transformers
|
, transformers
|
||||||
, transformers-compat
|
, transformers-compat
|
||||||
, wai
|
, wai
|
||||||
, warp
|
|
||||||
|
|
||||||
-- Additonal dependencies
|
-- Additonal dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
directory >= 1.2.1.0 && < 1.4
|
aeson >= 1.3.1.1 && < 1.5
|
||||||
, hspec >= 2.4.4 && < 2.6
|
, directory >= 1.2.1.0 && < 1.4
|
||||||
, hspec-wai >= 0.9 && < 0.10
|
, hspec >= 2.5.1 && < 2.6
|
||||||
|
, hspec-wai >= 0.9.0 && < 0.10
|
||||||
|
, QuickCheck >= 2.11.3 && < 2.12
|
||||||
, should-not-typecheck >= 2.1.0 && < 2.2
|
, should-not-typecheck >= 2.1.0 && < 2.2
|
||||||
, parsec >= 3.1.11 && < 3.2
|
, temporary >= 1.3 && < 1.4
|
||||||
, QuickCheck >= 2.10.1 && < 2.12
|
|
||||||
, wai-extra >= 3.0.21.0 && < 3.1
|
, wai-extra >= 3.0.21.0 && < 3.1
|
||||||
, temporary >= 1.2.0.3 && < 1.4
|
|
||||||
|
|
||||||
build-tool-depends:
|
build-tool-depends:
|
||||||
hspec-discover:hspec-discover >=2.4.4 && <2.6
|
hspec-discover:hspec-discover >= 2.5.1 && <2.6
|
||||||
|
|
||||||
test-suite doctests
|
test-suite doctests
|
||||||
build-depends:
|
build-depends:
|
||||||
base
|
base
|
||||||
, servant-server
|
, servant-server
|
||||||
, doctest >= 0.13.0 && <0.16
|
, doctest >= 0.15.0 && <0.16
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
main-is: test/doctests.hs
|
main-is: test/doctests.hs
|
||||||
buildable: True
|
buildable: True
|
||||||
|
|
|
@ -30,11 +30,11 @@
|
||||||
- Added `NoFraming` streaming strategy
|
- Added `NoFraming` streaming strategy
|
||||||
([#959](https://github.com/haskell-servant/servant/pull/959))
|
([#959](https://github.com/haskell-servant/servant/pull/959))
|
||||||
|
|
||||||
- *servant-client* Free `Client` implementation.
|
- *servant-client-core* Free `Client` implementation.
|
||||||
Useful for testing `HasClient` instances.
|
Useful for testing `HasClient` instances.
|
||||||
([#920](https://github.com/haskell-servant/servant/pull/920))
|
([#920](https://github.com/haskell-servant/servant/pull/920))
|
||||||
|
|
||||||
- *servant-client* Add `hoistClient` to `HasClient`.
|
- *servant-client-core* Add `hoistClient` to `HasClient`.
|
||||||
Just like `hoistServer` allows us to change the monad in which request handlers
|
Just like `hoistServer` allows us to change the monad in which request handlers
|
||||||
of a web application live in, we also have `hoistClient` for changing the monad
|
of a web application live in, we also have `hoistClient` for changing the monad
|
||||||
in which *client functions* live.
|
in which *client functions* live.
|
||||||
|
|
|
@ -34,7 +34,7 @@ custom-setup
|
||||||
setup-depends:
|
setup-depends:
|
||||||
base >= 4 && <5,
|
base >= 4 && <5,
|
||||||
Cabal,
|
Cabal,
|
||||||
cabal-doctest >= 1.0.2 && <1.1
|
cabal-doctest >= 1.0.6 && <1.1
|
||||||
|
|
||||||
library
|
library
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
|
@ -77,25 +77,25 @@ library
|
||||||
|
|
||||||
if !impl(ghc >= 8.0)
|
if !impl(ghc >= 8.0)
|
||||||
build-depends:
|
build-depends:
|
||||||
semigroups >= 0.18.3 && < 0.19
|
semigroups >= 0.18.4 && < 0.19
|
||||||
|
|
||||||
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
|
||||||
-- Here can be exceptions if we really need features from the newer versions.
|
-- Here can be exceptions if we really need features from the newer versions.
|
||||||
build-depends:
|
build-depends:
|
||||||
base-compat >= 0.9.3 && < 0.11
|
base-compat >= 0.10.1 && < 0.11
|
||||||
, aeson >= 1.2.3.0 && < 1.5
|
, aeson >= 1.3.1.1 && < 1.5
|
||||||
, attoparsec >= 0.13.2.0 && < 0.14
|
, attoparsec >= 0.13.2.2 && < 0.14
|
||||||
, case-insensitive >= 1.2.0.10 && < 1.3
|
, case-insensitive >= 1.2.0.10 && < 1.3
|
||||||
, http-api-data >= 0.3.7.1 && < 0.4
|
, http-api-data >= 0.3.8.1 && < 0.4
|
||||||
, http-media >= 0.7.1.1 && < 0.8
|
, http-media >= 0.7.1.2 && < 0.8
|
||||||
, http-types >= 0.12 && < 0.13
|
, http-types >= 0.12.1 && < 0.13
|
||||||
, natural-transformation >= 0.4 && < 0.5
|
, natural-transformation >= 0.4 && < 0.5
|
||||||
, mmorph >= 1.1.0 && < 1.2
|
, mmorph >= 1.1.2 && < 1.2
|
||||||
, tagged >= 0.8.5 && < 0.9
|
, tagged >= 0.8.5 && < 0.9
|
||||||
, singleton-bool >= 0.1.2.0 && < 0.2
|
, singleton-bool >= 0.1.4 && < 0.2
|
||||||
, string-conversions >= 0.4.0.1 && < 0.5
|
, string-conversions >= 0.4.0.1 && < 0.5
|
||||||
, network-uri >= 2.6.1.0 && < 2.7
|
, network-uri >= 2.6.1.0 && < 2.7
|
||||||
, vault >= 0.3.0.7 && < 0.4
|
, vault >= 0.3.1.1 && < 0.4
|
||||||
|
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
@ -141,7 +141,6 @@ test-suite spec
|
||||||
base
|
base
|
||||||
, base-compat
|
, base-compat
|
||||||
, aeson
|
, aeson
|
||||||
, attoparsec
|
|
||||||
, bytestring
|
, bytestring
|
||||||
, servant
|
, servant
|
||||||
, string-conversions
|
, string-conversions
|
||||||
|
@ -153,23 +152,23 @@ test-suite spec
|
||||||
|
|
||||||
-- Additonal dependencies
|
-- Additonal dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
aeson-compat >= 0.3.3 && < 0.4
|
aeson-compat >= 0.3.7.1 && < 0.4
|
||||||
, hspec >= 2.4.4 && < 2.6
|
, hspec >= 2.5.1 && < 2.6
|
||||||
, QuickCheck >= 2.10.1 && < 2.12
|
, QuickCheck >= 2.11.3 && < 2.12
|
||||||
, quickcheck-instances >= 0.3.16 && < 0.4
|
, quickcheck-instances >= 0.3.18 && < 0.4
|
||||||
|
|
||||||
build-tool-depends:
|
build-tool-depends:
|
||||||
hspec-discover:hspec-discover >= 2.4.4 && < 2.6
|
hspec-discover:hspec-discover >= 2.5.1 && < 2.6
|
||||||
|
|
||||||
test-suite doctests
|
test-suite doctests
|
||||||
build-depends:
|
build-depends:
|
||||||
base
|
base
|
||||||
, servant
|
, servant
|
||||||
, doctest >= 0.13.0 && <0.16
|
, doctest >= 0.15.0 && <0.16
|
||||||
|
|
||||||
-- We test Links failure with doctest, so we need extra dependencies
|
-- We test Links failure with doctest, so we need extra dependencies
|
||||||
build-depends:
|
build-depends:
|
||||||
hspec >= 2.4.4 && < 2.6
|
hspec >= 2.5.1 && < 2.6
|
||||||
|
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
main-is: test/doctests.hs
|
main-is: test/doctests.hs
|
||||||
|
|
15
stack.yaml
15
stack.yaml
|
@ -1,5 +1,5 @@
|
||||||
# Let's try to keep resolver at the first day of the month
|
# Let's try to keep resolver at the first day of the month
|
||||||
resolver: nightly-2018-03-01
|
resolver: nightly-2018-06-01
|
||||||
packages:
|
packages:
|
||||||
- servant-client/
|
- servant-client/
|
||||||
- servant-client-core/
|
- servant-client-core/
|
||||||
|
@ -8,18 +8,5 @@ packages:
|
||||||
- servant-server/
|
- servant-server/
|
||||||
- servant/
|
- servant/
|
||||||
|
|
||||||
extra-deps:
|
|
||||||
- cabal-doctest-1.0.6
|
|
||||||
- http-api-data-0.3.7.2
|
|
||||||
- http-types-0.12
|
|
||||||
- text-1.2.3.0
|
|
||||||
- aeson-1.3.0.0
|
|
||||||
- exceptions-0.10.0
|
|
||||||
- aeson-compat-0.3.7.1
|
|
||||||
- free-5.0.1
|
|
||||||
- lens-4.16
|
|
||||||
- random-bytestring-0.1.3
|
|
||||||
- pcg-random-0.1.3.5
|
|
||||||
|
|
||||||
# allow-newer: true # ignores all bounds, that's a sledgehammer
|
# allow-newer: true # ignores all bounds, that's a sledgehammer
|
||||||
# - doc/tutorial/
|
# - doc/tutorial/
|
||||||
|
|
Loading…
Reference in a new issue