on master help sign in
Merge pull request #234 from haskell-servant/jkarni/werror

Turn on Werror on travis.

commitc4561b4c6cc8f63884c0e4fc4d97ab6b51ccda09 authorJulian Arni <jkarni@gmail.com> dateWed 23 Sep 2015, 20:50 (11 years ago) parenta1dc0564206285
13 files changed+40−16
.travis.yml+1−1 servant-docs/servant-docs.cabal+1 servant-docs/src/Servant/Docs/Internal.hs+10−8 servant-examples/hackage/hackage.hs+1 servant-examples/servant-examples.cabal+6 servant-examples/tutorial/T8.hs−1 servant-examples/tutorial/T9.hs−1 servant-foreign/src/Servant/Foreign.hs+5−2 servant-js/servant-js.cabal+3 servant-js/src/Servant/JS/Internal.hs+2−2 servant-mock/src/Servant/Mock.hs+2−1 servant-server/servant-server.cabal+4 servant/servant.cabal+5
.travis.yml+1−1
@@ -19,7 +19,7 @@ install:
1919
2020script:
2121 - stack setup
22− - stack build
22+ - stack build --ghc-options "-Werror"
2323 - stack test
2424
2525cache:
servant-docs/servant-docs.cabal+1
@@ -65,6 +65,7 @@ executable greet-docs
6565test-suite spec
6666 type: exitcode-stdio-1.0
6767 main-is: Spec.hs
68+ other-modules: Servant.DocsSpec
6869 hs-source-dirs: test
6970 ghc-options: -Wall
7071 build-depends:
servant-docs/src/Servant/Docs/Internal.hs+10−8
@@ -23,19 +23,21 @@ module Servant.Docs.Internal where
2323
2424import Control.Applicative
2525import Control.Arrow (second)
26−import Control.Lens hiding (List, to, from)
26+import Control.Lens (makeLenses, over, traversed, (%~),
27+ (&), (.~), (<>~), (^.), _1, _2,
28+ _last, (|>))
2729import qualified Control.Monad.Omega as Omega
2830import Data.ByteString.Conversion (ToByteString, toByteString)
2931import Data.ByteString.Lazy.Char8 (ByteString)
3032import qualified Data.CaseInsensitive as CI
31−import Data.Hashable
33+import Data.Hashable (Hashable)
3234import Data.HashMap.Strict (HashMap)
3335import Data.List
3436import Data.Maybe
3537import Data.Monoid
3638import Data.Ord (comparing)
37−import Data.Proxy
38−import Data.String.Conversions
39+import Data.Proxy (Proxy(Proxy))
40+import Data.String.Conversions (cs)
3941import Data.Text (Text, pack, unpack)
4042import GHC.Exts (Constraint)
4143import GHC.Generics
@@ -494,9 +496,9 @@ sampleByteStrings
494496 -> Proxy a
495497 -> [(Text, M.MediaType, ByteString)]
496498sampleByteStrings ctypes@Proxy Proxy =
497− let samples = toSamples (Proxy :: Proxy a)
499+ let samples' = toSamples (Proxy :: Proxy a)
498500 enc (t, s) = uncurry (t,,) <$> allMimeRender ctypes s
499− in concatMap enc samples
501+ in concatMap enc samples'
500502
501503-- | Generate a list of 'MediaType' values describing the content types
502504-- accepted by an API component.
@@ -640,10 +642,10 @@ markdown api = unlines $
640642
641643 rqbodyStr :: [M.MediaType] -> [(M.MediaType, ByteString)]-> [String]
642644 rqbodyStr [] [] = []
643− rqbodyStr types samples =
645+ rqbodyStr types s =
644646 ["#### Request:", ""]
645647 <> formatTypes types
646− <> concatMap formatBody samples
648+ <> concatMap formatBody s
647649
648650 formatTypes [] = []
649651 formatTypes ts = ["- Supported content types are:", ""]
servant-examples/hackage/hackage.hs+1
@@ -2,6 +2,7 @@
22{-# LANGUAGE DeriveGeneric #-}
33{-# LANGUAGE OverloadedStrings #-}
44{-# LANGUAGE TypeOperators #-}
5+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
56import Control.Applicative
67import Control.Monad
78import Control.Monad.IO.Class
servant-examples/servant-examples.cabal+6
@@ -20,6 +20,7 @@ source-repository head
2020executable tutorial
2121 main-is: tutorial.hs
2222 other-modules: T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
23+ ghc-options: -Wall -fno-warn-unused-binds -fno-warn-name-shadowing -fno-warn-orphans -fno-warn-unused-imports
2324 build-depends:
2425 aeson >= 0.8
2526 , base >= 4.7 && < 5
@@ -45,8 +46,10 @@ executable tutorial
4546
4647executable t8-main
4748 main-is: t8-main.hs
49+ other-modules: T3, T8
4850 hs-source-dirs: tutorial
4951 default-language: Haskell2010
52+ ghc-options: -Wall -fno-warn-unused-binds -fno-warn-name-shadowing
5053 build-depends:
5154 aeson
5255 , base >= 4.7 && < 5
@@ -86,6 +89,7 @@ executable wai-middleware
8689
8790executable auth-combinator
8891 main-is: auth-combinator.hs
92+ ghc-options: -Wall -fno-warn-unused-binds -fno-warn-name-shadowing
8993 build-depends:
9094 aeson >= 0.8
9195 , base >= 4.7 && < 5
@@ -101,6 +105,8 @@ executable auth-combinator
101105
102106executable socket-io-chat
103107 main-is: socket-io-chat.hs
108+ ghc-options: -Wall -fno-warn-unused-binds -fno-warn-name-shadowing
109+ other-modules: Chat
104110 build-depends:
105111 aeson >= 0.8
106112 , base >= 4.7 && < 5
servant-examples/tutorial/T8.hs−1
@@ -4,7 +4,6 @@
44module T8 where
55
66import Control.Monad.Trans.Except
7−import Data.Aeson
87import Servant
98import Servant.Client
109
servant-examples/tutorial/T9.hs−1
@@ -13,7 +13,6 @@ import GHC.Generics
1313import Network.Wai
1414import Servant
1515import Servant.JS
16−import Servant.JS.JQuery
1716import System.Random
1817
1918import qualified Data.Text as T
servant-foreign/src/Servant/Foreign.hs+5−2
@@ -3,8 +3,10 @@
33{-# LANGUAGE DataKinds #-}
44{-# LANGUAGE FlexibleContexts #-}
55{-# LANGUAGE FlexibleInstances #-}
6−{-# LANGUAGE MultiParamTypeClasses #-}
6+#if !MIN_VERSION_base(4,8,0)
77{-# LANGUAGE NullaryTypeClasses #-}
8+#endif
9+{-# LANGUAGE MultiParamTypeClasses #-}
810{-# LANGUAGE ScopedTypeVariables #-}
911{-# LANGUAGE TemplateHaskell #-}
1012{-# LANGUAGE TypeFamilies #-}
@@ -47,7 +49,8 @@ module Servant.Foreign
4749#if !MIN_VERSION_base(4,8,0)
4850import Control.Applicative
4951#endif
50−import Control.Lens hiding (List)
52+import Control.Lens (makeLenses, (%~), (&), (.~),
53+ (<>~), _last)
5154import Data.Char (toLower, toUpper)
5255import Data.List
5356import Data.Proxy
servant-js/servant-js.cabal+3
@@ -77,6 +77,9 @@ test-suite spec
7777 hs-source-dirs: test
7878 ghc-options: -Wall
7979 main-is: Spec.hs
80+ other-modules:
81+ Servant.JSSpec
82+ Servant.JSSpec.CustomHeaders
8083 build-depends: base
8184 , hspec >= 2.1.8
8285 , hspec-expectations
servant-js/src/Servant/JS/Internal.hs+2−2
@@ -29,9 +29,9 @@ module Servant.JS.Internal
2929 , Get
3030 , Raw
3131 , Header
32− ) where
32+ ) where
3333
34−import Control.Lens hiding (List)
34+import Control.Lens ((^.))
3535import qualified Data.CharSet as Set
3636import qualified Data.CharSet.Unicode.Category as Set
3737import Data.List
servant-mock/src/Servant/Mock.hs+2−1
@@ -5,6 +5,7 @@
55{-# LANGUAGE ScopedTypeVariables #-}
66{-# LANGUAGE TypeFamilies #-}
77{-# LANGUAGE TypeOperators #-}
8+{-# OPTIONS_GHC -fno-warn-orphans #-}
89-- |
910-- Module : Servant.Mock
1011-- Copyright : 2015 Alp Mestanogullari
@@ -165,7 +166,7 @@ instance (Arbitrary a, AllCTRender ctypes a) => HasMock (Put ctypes a) where
165166 mock _ = mockArbitrary
166167
167168instance HasMock Raw where
168− mock _ = \req respond -> do
169+ mock _ = \_req respond -> do
169170 bdy <- genBody
170171 respond $ responseLBS status200 [] bdy
171172
servant-server/servant-server.cabal+4
@@ -91,6 +91,10 @@ test-suite spec
9191 default-language: Haskell2010
9292 hs-source-dirs: test
9393 main-is: Spec.hs
94+ other-modules:
95+ Servant.Server.Internal.EnterSpec
96+ Servant.ServerSpec
97+ Servant.Utils.StaticFilesSpec
9498 build-depends:
9599 base == 4.*
96100 , aeson
servant/servant.cabal+5
@@ -90,6 +90,11 @@ test-suite spec
9090 default-language: Haskell2010
9191 hs-source-dirs: test
9292 main-is: Spec.hs
93+ other-modules:
94+ Servant.API.ContentTypesSpec
95+ Servant.API.ResponseHeadersSpec
96+ Servant.Common.TextSpec
97+ Servant.Utils.LinksSpec
9398 build-depends:
9499 base == 4.*
95100 , aeson