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

Support 7.8

commit445364492f7fb9b7d9a1294d4ae8c1c8cdc3fb11 authorOleg Grenrus <oleg.grenrus@iki.fi> dateMon 15 Feb 2016, 13:01 (11 years ago) parent0777fd35838ea1
9 files changed+33−18
.travis.meta.yml+1 .travis.yml+15−3 example/Main.hs+4−4 package.yaml+2−2 servant-swagger-ui.cabal+4−4 src/Servant/Swagger/UI.hs+2−1 src/Servant/Swagger/UI/Internal.hs+1−1 stack-lts-2.yaml+3−2 stack-lts-5.yaml+1−1
.travis.meta.yml+1
@@ -1,6 +1,7 @@
11language: haskell-multi-ghc
22
33env:
4+ - GHCVER=7.8.4 CABALVER=1.18
45 - GHCVER=7.10.3 CABALVER=1.22 PEDANTIC=YES
56
67matrix:
.travis.yml+15−3
@@ -9,9 +9,11 @@ before_install:
99 '?')]"
1010- cabal --version
1111- ghc --version
12−- if [ "$NOTESTS" = "YES" ]; then export CABALCONFOPTS=""; export CABALTEST="true";
13− else export CABALCONFOPTS="--enable-tests --enable-benchmarks"; export CABALTEST="cabal
12+- if [ "$NOTESTS" = "YES" ]; then export CABALCONFOPTS="$CABALFLAGS"; export CABALTEST="true";
13+ else export CABALCONFOPTS="$CABALFLAGS --enable-tests"; export CABALTEST="cabal
1414 test"; fi
15+- if [ ! "$NOBENCHMARKS" = "YES"]; then export CABALCONFOPTS="$CABALCONFOPTS --enable-benchmarks";
16+ fi
1517- if [ "$PEDANTIC" = "YES" ]; then export CABALBUILDOPTS="--ghc-options=-Werror --ghc-options=-Wall";
1618 fi
1719install:
@@ -39,10 +41,20 @@ script:
3941- if [ "$CABALVER" = "1.22" ]; then cabal check; fi
4042- cabal sdist
4143- SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz && (cd dist && cabal install
42− --force-reinstalls "$SRC_TGZ")
44+ --force-reinstalls $CABALFLAGS "$SRC_TGZ")
4345matrix:
4446 fast_finish: true
4547 include:
48+ - env: GHCVER=7.8.4 CABALVER=1.18
49+ addons:
50+ apt:
51+ sources:
52+ - hvr-ghc
53+ packages:
54+ - cabal-install-1.18
55+ - ghc-7.8.4
56+ - libgmp-dev
57+ compiler: ! ': # ghc-7.8.4 cabal-1.18'
4658 - env: GHCVER=7.10.3 CABALVER=1.22 PEDANTIC=YES
4759 addons:
4860 apt:
example/Main.hs+4−4
@@ -71,11 +71,11 @@ type instance IsElem' e API = IsElem e API'
7171-- Implementation
7272server :: Server API
7373server =
74− (pure "Hello World" :<|> catEndpoint)
75− :<|> pure swaggerDoc
74+ (return "Hello World" :<|> catEndpoint)
75+ :<|> return swaggerDoc
7676 :<|> swaggerUIServer
7777 where
78− catEndpoint n = pure $ Cat n False
78+ catEndpoint n = return $ Cat n False
7979
8080-- Boilerplate
8181
@@ -96,6 +96,6 @@ main = do
9696 args <- getArgs
9797 case args of
9898 ("run":_) -> do
99− p <- fromMaybe 8000 . (>>= readMaybe) <$> lookupEnv "PORT"
99+ p <- fmap (fromMaybe 8000 . (>>= readMaybe)) $ lookupEnv "PORT"
100100 Warp.run p app
101101 _ -> putStrLn "To run, pass 'run' argument"
package.yaml+2−2
@@ -20,13 +20,13 @@ dependencies:
2020 - blaze-markup >=0.7.0.2 && <0.8
2121 - bytestring >=0.10.4.0 && <0.11
2222 - directory >=1.2.1.0 && <1.3
23− - file-embed >=0.0.8.2 && <0.1
23+ - file-embed >=0.0.9 && <0.1
2424 - filepath >=1.3.0.2 && <1.5
2525 - http-media >=0.6.2 && <0.7
2626 - servant >=0.4.4.5 && <0.5
2727 - servant-blaze >=0.4.4.5 && <0.5
2828 - servant-server >=0.4.4.5 && <0.5
29− - servant-swagger >=1.0.1 && <1.1
29+ - servant-swagger >=1.0.3 && <1.1
3030 - swagger2 >=2.0.1 && <2.1
3131 - template-haskell >=2.9 && <2.11
3232 - text >=1.2.0.6 && <1.3
servant-swagger-ui.cabal+4−4
@@ -78,13 +78,13 @@ library
7878 , blaze-markup >=0.7.0.2 && <0.8
7979 , bytestring >=0.10.4.0 && <0.11
8080 , directory >=1.2.1.0 && <1.3
81− , file-embed >=0.0.8.2 && <0.1
81+ , file-embed >=0.0.9 && <0.1
8282 , filepath >=1.3.0.2 && <1.5
8383 , http-media >=0.6.2 && <0.7
8484 , servant >=0.4.4.5 && <0.5
8585 , servant-blaze >=0.4.4.5 && <0.5
8686 , servant-server >=0.4.4.5 && <0.5
87− , servant-swagger >=1.0.1 && <1.1
87+ , servant-swagger >=1.0.3 && <1.1
8888 , swagger2 >=2.0.1 && <2.1
8989 , template-haskell >=2.9 && <2.11
9090 , text >=1.2.0.6 && <1.3
@@ -105,13 +105,13 @@ test-suite example
105105 , blaze-markup >=0.7.0.2 && <0.8
106106 , bytestring >=0.10.4.0 && <0.11
107107 , directory >=1.2.1.0 && <1.3
108− , file-embed >=0.0.8.2 && <0.1
108+ , file-embed >=0.0.9 && <0.1
109109 , filepath >=1.3.0.2 && <1.5
110110 , http-media >=0.6.2 && <0.7
111111 , servant >=0.4.4.5 && <0.5
112112 , servant-blaze >=0.4.4.5 && <0.5
113113 , servant-server >=0.4.4.5 && <0.5
114− , servant-swagger >=1.0.1 && <1.1
114+ , 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
src/Servant/Swagger/UI.hs+2−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE ConstraintKinds #-}
12{-# LANGUAGE DataKinds #-}
23{-# LANGUAGE DeriveGeneric #-}
34{-# LANGUAGE GeneralizedNewtypeDeriving #-}
@@ -103,7 +104,7 @@ instance (IsElem endpoint api, HasLink endpoint, MkLink endpoint ~ URI)
103104 url = T.pack $ "/" <> uriPath uri -- TODO: do we need more?
104105
105106swaggerUIServer :: Server (SwaggerUI dir endpoint api)
106−swaggerUIServer = pure SwaggerUiHtml :<|> pure SwaggerUiHtml :<|> rest
107+swaggerUIServer = return SwaggerUiHtml :<|> return SwaggerUiHtml :<|> rest
107108 where rest = staticApp $ embeddedSettings swaggerUiFiles
108109
109110swaggerUiIndexTemplate :: T.Text
src/Servant/Swagger/UI/Internal.hs+1−1
@@ -53,5 +53,5 @@ makeEmbeddedEntry (path, bs) = [| (path, $(bytestringE $ BL.toStrict bs)) |]
5353-- > staticApp $ defaultFileServerSettings "static"
5454mkRecursiveEmbedded :: FilePath -> Q Exp
5555mkRecursiveEmbedded topdir = do
56− pairs <- runIO $ makeAllRelative topdir <$> getRecursiveContents topdir
56+ pairs <- runIO $ fmap (makeAllRelative topdir) $ getRecursiveContents topdir
5757 listE $ map makeEmbeddedEntry pairs
stack-lts-2.yaml+3−2
@@ -2,9 +2,10 @@ resolver: lts-2.22
22packages:
33- '.'
44extra-deps:
5−- servant-blaze-0.4.4.6
65- servant-0.4.4.6
6+- servant-blaze-0.4.4.6
77- servant-server-0.4.4.6
8+- servant-swagger-1.0.3
89- swagger2-2.0.1
9−- servant-swagger-1.0.1
10+- file-embed-0.0.9
1011flags: {}
stack-lts-5.yaml+1−1
@@ -2,6 +2,6 @@ resolver: lts-5.1
22packages:
33- '.'
44extra-deps:
5+- servant-swagger-1.0.3
56- swagger2-2.0.1
6−- servant-swagger-1.0.1
77flags: {}