git.iko.soy/typeable/servant-swagger-ui
on master help sign in
Merge pull request #2 from phadej/servant-0.5

Support servant-0.5

commit5f484f10d2182f917b0c3c094daee5d6e54e8a4e authorOleg Grenrus <oleg.grenrus@iki.fi> dateTue 22 Mar 2016, 11:37 (11 years ago) parent4453644fc87050
8 files changed+63−25
.travis.meta.yml+4−2 .travis.yml+24−4 example/Main.hs+13−2 package.yaml+5−5 servant-0.4-cabal.config+1 servant-0.5-cabal.config+1 servant-swagger-ui.cabal+8−8 stack-lts-2.yaml+7−4
.travis.meta.yml+4−2
@@ -1,8 +1,10 @@
11language: haskell-multi-ghc
22
33env:
4− - GHCVER=7.8.4 CABALVER=1.18
5− - GHCVER=7.10.3 CABALVER=1.22 PEDANTIC=YES
4+ - GHCVER=7.8.4 CABALVER=1.18 CABALCONFIG=servant-0.4-cabal.config
5+ - GHCVER=7.10.3 CABALVER=1.22 CABALCONFIG=servant-0.4-cabal.config PEDANTIC=YES
6+ - GHCVER=7.8.4 CABALVER=1.18 CABALCONFIG=servant-0.5-cabal.config
7+ - GHCVER=7.10.3 CABALVER=1.22 CABALCONFIG=servant-0.5-cabal.config PEDANTIC=YES
68
79matrix:
810 fast_finish: true
.travis.yml+24−4
@@ -45,7 +45,7 @@ script:
4545matrix:
4646 fast_finish: true
4747 include:
48− - env: GHCVER=7.8.4 CABALVER=1.18
48+ - env: GHCVER=7.8.4 CABALVER=1.18 CABALCONFIG=servant-0.4-cabal.config
4949 addons:
5050 apt:
5151 sources:
@@ -54,8 +54,8 @@ matrix:
5454 - cabal-install-1.18
5555 - ghc-7.8.4
5656 - libgmp-dev
57− compiler: ! ': # ghc-7.8.4 cabal-1.18'
58− - env: GHCVER=7.10.3 CABALVER=1.22 PEDANTIC=YES
57+ compiler: ! ': # ghc-7.8.4 cabal-1.18 servant-0.4-cabal.config'
58+ - env: GHCVER=7.10.3 CABALVER=1.22 CABALCONFIG=servant-0.4-cabal.config PEDANTIC=YES
5959 addons:
6060 apt:
6161 sources:
@@ -64,7 +64,27 @@ matrix:
6464 - cabal-install-1.22
6565 - ghc-7.10.3
6666 - libgmp-dev
67− compiler: ! ': # ghc-7.10.3 cabal-1.22'
67+ compiler: ! ': # ghc-7.10.3 cabal-1.22 servant-0.4-cabal.config'
68+ - env: GHCVER=7.8.4 CABALVER=1.18 CABALCONFIG=servant-0.5-cabal.config
69+ addons:
70+ apt:
71+ sources:
72+ - hvr-ghc
73+ packages:
74+ - cabal-install-1.18
75+ - ghc-7.8.4
76+ - libgmp-dev
77+ compiler: ! ': # ghc-7.8.4 cabal-1.18 servant-0.5-cabal.config'
78+ - env: GHCVER=7.10.3 CABALVER=1.22 CABALCONFIG=servant-0.5-cabal.config PEDANTIC=YES
79+ addons:
80+ apt:
81+ sources:
82+ - hvr-ghc
83+ packages:
84+ - cabal-install-1.22
85+ - ghc-7.10.3
86+ - libgmp-dev
87+ compiler: ! ': # ghc-7.10.3 cabal-1.22 servant-0.5-cabal.config'
6888branches:
6989 only:
7090 - master
example/Main.hs+13−2
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE DataKinds #-}
23{-# LANGUAGE DeriveGeneric #-}
34{-# LANGUAGE FlexibleInstances #-}
@@ -38,7 +39,13 @@ instance ToJSON Cat where
3839 toJSON (Cat n g) = object [ "catName" .= n , "catIsMale" .= g]
3940
4041newtype CatName = CatName Text
41− deriving (Eq, Show, Generic, FromText)
42+ deriving ( Eq, Show, Generic
43+#if MIN_VERSION_servant(0,5,0)
44+ , FromHttpApiData
45+#else
46+ , FromText
47+#endif
48+ )
4249
4350instance ToJSON CatName where
4451 toJSON (CatName n) = toJSON n
@@ -62,7 +69,11 @@ type API' = BasicAPI
6269 :<|> SwaggerSchemaEndpoint
6370 :<|> SwaggerUI "ui" SwaggerSchemaEndpoint API
6471
65−instance HasServer API where
72+instance HasServer API
73+#if MIN_VERSION_servant(0,5,0)
74+ context
75+#endif
76+ where
6677 type ServerT API m = ServerT API' m
6778 route _ = route (Proxy :: Proxy API')
6879
package.yaml+5−5
@@ -23,9 +23,9 @@ dependencies:
2323 - file-embed >=0.0.9 && <0.1
2424 - filepath >=1.3.0.2 && <1.5
2525 - http-media >=0.6.2 && <0.7
26− - servant >=0.4.4.5 && <0.5
27− - servant-blaze >=0.4.4.5 && <0.5
28− - servant-server >=0.4.4.5 && <0.5
26+ - servant >=0.4.4.5 && <0.6
27+ - servant-blaze >=0.4.4.5 && <0.6
28+ - servant-server >=0.4.4.5 && <0.6
2929 - servant-swagger >=1.0.3 && <1.1
3030 - swagger2 >=2.0.1 && <2.1
3131 - template-haskell >=2.9 && <2.11
@@ -41,8 +41,8 @@ tests:
4141 source-dirs: example
4242 dependencies:
4343 - servant-swagger-ui
44− - servant-server >=0.4.4.5 && <0.5
45− - aeson >=0.8.0.2 && <0.11
44+ - servant-server >=0.4.4.5 && <0.6
45+ - aeson >=0.8.0.2 && <0.12
4646 - base-compat >=0.6.0 && <0.10
4747 - lens >=4.7.0.1 && <4.14
4848 - wai >=3.0.3.0 && <3.3
servant-0.4-cabal.confignew file+1
@@ -0,0 +1 @@
1+constraints: servant ==0.4.4.*
servant-0.5-cabal.confignew file+1
@@ -0,0 +1 @@
1+constraints: servant ==0.5.*
servant-swagger-ui.cabal+8−8
@@ -81,9 +81,9 @@ library
8181 , file-embed >=0.0.9 && <0.1
8282 , filepath >=1.3.0.2 && <1.5
8383 , http-media >=0.6.2 && <0.7
84− , servant >=0.4.4.5 && <0.5
85− , servant-blaze >=0.4.4.5 && <0.5
86− , servant-server >=0.4.4.5 && <0.5
84+ , servant >=0.4.4.5 && <0.6
85+ , servant-blaze >=0.4.4.5 && <0.6
86+ , servant-server >=0.4.4.5 && <0.6
8787 , servant-swagger >=1.0.3 && <1.1
8888 , swagger2 >=2.0.1 && <2.1
8989 , template-haskell >=2.9 && <2.11
@@ -108,17 +108,17 @@ test-suite example
108108 , file-embed >=0.0.9 && <0.1
109109 , filepath >=1.3.0.2 && <1.5
110110 , http-media >=0.6.2 && <0.7
111− , servant >=0.4.4.5 && <0.5
112− , servant-blaze >=0.4.4.5 && <0.5
113− , servant-server >=0.4.4.5 && <0.5
111+ , servant >=0.4.4.5 && <0.6
112+ , servant-blaze >=0.4.4.5 && <0.6
113+ , servant-server >=0.4.4.5 && <0.6
114114 , servant-swagger >=1.0.3 && <1.1
115115 , swagger2 >=2.0.1 && <2.1
116116 , template-haskell >=2.9 && <2.11
117117 , text >=1.2.0.6 && <1.3
118118 , wai-app-static >=3.0.1.1 && <3.2
119119 , servant-swagger-ui
120− , servant-server >=0.4.4.5 && <0.5
121− , aeson >=0.8.0.2 && <0.11
120+ , servant-server >=0.4.4.5 && <0.6
121+ , aeson >=0.8.0.2 && <0.12
122122 , base-compat >=0.6.0 && <0.10
123123 , lens >=4.7.0.1 && <4.14
124124 , wai >=3.0.3.0 && <3.3
stack-lts-2.yaml+7−4
@@ -2,10 +2,13 @@ resolver: lts-2.22
22packages:
33- '.'
44extra-deps:
5−- servant-0.4.4.6
6−- servant-blaze-0.4.4.6
7−- servant-server-0.4.4.6
5+- base-compat-0.9.0
6+- servant-0.5
7+- servant-blaze-0.5
8+- servant-server-0.5
89- servant-swagger-1.0.3
9−- swagger2-2.0.1
10+- http-api-data-0.2.2
11+- time-locale-compat-0.1.1.1
12+- swagger2-2.0.2
1013- file-embed-0.0.9
1114flags: {}