git.iko.soy/typeable/swagger2
on master help sign in
Use base-compat-batteries
commit4066d89d42edcd08551a3e691d24d6e8919b4486 authorOleg Grenrus <oleg.grenrus@iki.fi> dateMon 9 Apr 2018, 10:04 (9 years ago) parentaea4c28
13 files changed+84−93
CHANGELOG.md+7 src/Data/Swagger/Declare.hs+4−5 src/Data/Swagger/Internal.hs+1−1 src/Data/Swagger/Internal/AesonUtils.hs−1 src/Data/Swagger/Internal/ParamSchema.hs+1−1 src/Data/Swagger/Internal/Schema.hs+2−2 src/Data/Swagger/Internal/Utils.hs−1 src/Data/Swagger/Operation.hs−1 stack-ghc-8.0.yaml−5 stack-lts-2.yaml−22 stack.yaml+5−2 swagger2.cabal+63−51 test/Data/Swagger/Schema/ValidationSpec.hs+1−1
CHANGELOG.md+7
@@ -1,3 +1,10 @@
1+2.2.2
2+-----
3+
4+* Add `ToSchema Version` instance
5+* Use base-compat-batteries (0.10)
6+* PVP bounds
7+
182.2.1
29-----
310
src/Data/Swagger/Declare.hs+4−5
@@ -29,7 +29,6 @@ import Control.Monad.Trans.RWS.Strict as Strict
2929import Control.Monad.Trans.Writer.Lazy as Lazy
3030import Control.Monad.Trans.Writer.Strict as Strict
3131import Data.Functor.Identity
32−import Data.Monoid
3332
3433-- | A declare monad transformer parametrized by:
3534--
@@ -50,15 +49,15 @@ instance (Applicative m, Monad m, Monoid d) => Applicative (DeclareT d m) where
5049 pure x = DeclareT (\_ -> pure (mempty, x))
5150 DeclareT df <*> DeclareT dx = DeclareT $ \d -> do
5251 ~(d', f) <- df d
53− ~(d'', x) <- dx (d <> d')
54− return (d' <> d'', f x)
52+ ~(d'', x) <- dx (mappend d d')
53+ return (mappend d' d'', f x)
5554
5655instance (Applicative m, Monad m, Monoid d) => Monad (DeclareT d m) where
5756 return x = DeclareT (\_ -> pure (mempty, x))
5857 DeclareT dx >>= f = DeclareT $ \d -> do
5958 ~(d', x) <- dx d
60− ~(d'', y) <- runDeclareT (f x) (d <> d')
61− return (d' <> d'', y)
59+ ~(d'', y) <- runDeclareT (f x) (mappend d d')
60+ return (mappend d' d'', y)
6261
6362instance Monoid d => MonadTrans (DeclareT d) where
6463 lift m = DeclareT (\_ -> (,) mempty `liftM` m)
src/Data/Swagger/Internal.hs+1−1
@@ -33,7 +33,7 @@ import qualified Data.HashMap.Strict as HashMap
3333import Data.Map (Map)
3434import qualified Data.Map as Map
3535import Data.Monoid (Monoid (..))
36−import Data.Semigroup (Semigroup (..))
36+import Data.Semigroup.Compat (Semigroup (..))
3737import Data.Scientific (Scientific)
3838import Data.Set (Set)
3939import Data.String (IsString(..))
src/Data/Swagger/Internal/AesonUtils.hs−1
@@ -47,7 +47,6 @@ import qualified Data.HashMap.Strict.InsOrd as InsOrd
4747
4848#if MIN_VERSION_aeson(0,10,0)
4949import Data.Aeson (Encoding, pairs, (.=), Series)
50−import Data.Monoid ((<>))
5150#endif
5251
5352-------------------------------------------------------------------------------
src/Data/Swagger/Internal/ParamSchema.hs+1−1
@@ -40,7 +40,7 @@ import qualified Data.Vector.Primitive as VP
4040import qualified Data.Vector.Storable as VS
4141import qualified Data.Vector.Unboxed as VU
4242import Data.Version (Version)
43−import Numeric.Natural
43+import Numeric.Natural.Compat (Natural)
4444import Data.Word
4545import Data.UUID.Types (UUID)
4646
src/Data/Swagger/Internal/Schema.hs+2−2
@@ -44,7 +44,7 @@ import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
4444import Data.Int
4545import Data.IntSet (IntSet)
4646import Data.IntMap (IntMap)
47−import Data.List.NonEmpty (NonEmpty)
47+import Data.List.NonEmpty.Compat (NonEmpty)
4848import Data.Map (Map)
4949import Data.Proxy
5050import Data.Scientific (Scientific)
@@ -58,7 +58,7 @@ import qualified Data.Vector.Primitive as VP
5858import qualified Data.Vector.Storable as VS
5959import qualified Data.Vector.Unboxed as VU
6060import Data.Version (Version)
61−import Numeric.Natural
61+import Numeric.Natural.Compat (Natural)
6262import Data.Word
6363import GHC.Generics
6464import qualified Data.UUID.Types as UUID
src/Data/Swagger/Internal/Utils.hs−1
@@ -21,7 +21,6 @@ import qualified Data.HashMap.Strict as HashMap
2121import Data.HashMap.Strict.InsOrd (InsOrdHashMap)
2222import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
2323import Data.Map (Map)
24−import Data.Monoid
2524import Data.Set (Set)
2625import Data.Text (Text)
2726import GHC.Generics
src/Data/Swagger/Operation.hs−1
@@ -37,7 +37,6 @@ import Control.Lens
3737import Data.Data.Lens
3838import Data.List.Compat
3939import Data.Maybe (mapMaybe)
40−import Data.Monoid
4140import qualified Data.Set as Set
4241
4342import Data.Swagger.Declare
stack-ghc-8.0.yamldeleted−5
@@ -1,5 +0,0 @@
1−resolver: nightly-2016-05-29
2−packages:
3−- '.'
4−extra-deps:
5− - aeson-0.11.2.1
stack-lts-2.yamldeleted−22
@@ -1,22 +0,0 @@
1−flags: {}
2−packages:
3−- '.'
4−extra-deps:
5−- aeson-0.11.2.1
6−- attoparsec-0.13.1.0
7−- base-compat-0.9.1
8−- fail-4.9.0.0
9−- generics-sop-0.2.1.0
10−- insert-ordered-containers-0.1.0.1
11−- primitive-0.6.1.0
12−- QuickCheck-2.8.2
13−- tagged-0.8.4
14−- unordered-containers-0.2.7.0
15−resolver: lts-2.22
16−flags:
17− aeson:
18− old-locale: true
19− QuickCheck:
20− base3: false
21− base4: true
22− base4point8: false
stack.yaml+5−2
@@ -1,5 +1,8 @@
1−resolver: lts-9.3
1+resolver: lts-11.4
22packages:
33- '.'
44extra-deps:
5−- aeson-1.2.2.0
5+- aeson-1.3.1.0
6+- base-compat-0.10.0
7+- base-compat-batteries-0.10.0
8+- insert-ordered-containers-0.2.1.0
swagger2.cabal+63−51
@@ -1,11 +1,14 @@
1+cabal-version: >=1.10
12name: swagger2
2−version: 2.2.1
3+version: 2.2.2
4+
35synopsis: Swagger 2.0 data model
46description:
57 This library is inteded to be used for decoding and encoding Swagger 2.0 API
68 specifications as well as manipulating them.
79 .
810 The original Swagger 2.0 specification is available at http://swagger.io/specification/.
11+
912homepage: https://github.com/GetShopTV/swagger2
1013bug-reports: https://github.com/GetShopTV/swagger2/issues
1114license: BSD3
@@ -20,7 +23,6 @@ extra-source-files:
2023 , CHANGELOG.md
2124 , examples/*.hs
2225 , include/overlapping-compat.h
23−cabal-version: >=1.10
2426tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1
2527
2628custom-setup
@@ -48,59 +50,72 @@ library
4850 Data.Swagger.Internal.Utils
4951 Data.Swagger.Internal.AesonUtils
5052 Data.Swagger.Internal.TypeShape
51− build-depends: base >=4.7 && <4.12
52− , base-compat >=0.9.1 && <0.11
53− , aeson >=1.0.0.0
54− , bytestring
55− , containers
56− , hashable
57− , generics-sop >=0.2 && <0.4
58− , http-media
59− , insert-ordered-containers >=0.1.0.0 && <0.3
60− , lens
61− , mtl
62− , network
63− , scientific
64− , text
65− , template-haskell
66− , time
67− , transformers
68− , transformers-compat >= 0.3
69− , unordered-containers
70− , vector
71− , uuid-types >=1.0.2 && <1.1
72− if !impl(ghc >= 7.10)
73− build-depends: nats >=1.1.1 && <1.2
74− if !impl(ghc >= 8.0)
75− build-depends: semigroups >= 0.18.3 && <0.19
53+
54+ -- GHC boot libraries
55+ build-depends:
56+ base >=4.7 && <4.12
57+ , bytestring >=0.10.4 && <0.11
58+ , containers >=0.5.5.1 && <0.6
59+ , template-haskell >=2.9.0.0 && <2.14
60+ , time >=1.4.2 && <1.9
61+ , transformers >=0.3.0.0 && <0.6
62+
63+ build-depends:
64+ mtl >=2.1 && <2.3
65+ , text >=1.2.3.0 && <1.3
66+
67+ -- other dependencies
68+ build-depends:
69+ base-compat-batteries >=0.10.1 && <0.11
70+ , aeson >=1.0.0.0 && <1.4
71+ , generics-sop >=0.3.2.0 && <0.4
72+ , hashable >=1.2.7.0 && <1.3
73+ , http-media >=0.7.1.2 && <0.8
74+ , insert-ordered-containers >=0.1.0.0 && <0.3
75+ , lens >=4.16.1 && <4.17
76+ , network >=2.6.3.5 && <2.7
77+ , scientific >=0.3.5.3 && <0.4
78+ , transformers-compat >=0.3 && <0.7
79+ , unordered-containers >=0.2.9.0 && <0.3
80+ , uuid-types >=1.0.2 && <1.1
81+ , vector >=0.12.0.1 && <0.13
82+
7683 default-language: Haskell2010
7784
7885test-suite spec
7986 type: exitcode-stdio-1.0
8087 hs-source-dirs: test
8188 main-is: Spec.hs
89+
90+ -- From library parat
8291 -- We need aeson's toEncoding for doctests too
83− build-depends: base
84− , base-compat
85− , aeson >=0.10.0.0
86− , aeson-qq
87− , bytestring
88− , containers
89− , hashable
90− , hspec
91− , insert-ordered-containers
92− , HUnit
93− , mtl
94− , QuickCheck >=2.8.2
95− , quickcheck-instances
96− , swagger2
97− , text
98− , time
99− , unordered-containers
100− , vector
101− , lens
102− if !impl(ghc >= 8.0)
103− build-depends: semigroups
92+ build-depends:
93+ base
94+ , swagger2
95+ , aeson
96+ , base-compat-batteries
97+ , bytestring
98+ , containers
99+ , hashable
100+ , insert-ordered-containers
101+ , lens
102+ , mtl
103+ , text
104+ , time
105+ , unordered-containers
106+ , vector
107+
108+ -- test-suite only dependencies
109+ build-depends:
110+ aeson-qq >=0.8.2 && <0.9
111+ , hspec >=2.4.8 && <2.6
112+ , HUnit >=1.6.0.0 && <1.7
113+ , QuickCheck >=2.10.1 && <2.12
114+ , quickcheck-instances >=0.3.18 && <0.14
115+
116+ -- https://github.com/haskell/cabal/issues/3708
117+ build-tool-depends:
118+ hspec-discover:hspec-discover >=2.4.8 && <2.6
104119
105120 other-modules:
106121 SpecCommon
@@ -110,9 +125,6 @@ test-suite spec
110125 Data.Swagger.SchemaSpec
111126 Data.Swagger.Schema.ValidationSpec
112127 default-language: Haskell2010
113− -- https://github.com/haskell/cabal/issues/3708
114− build-tool-depends:
115− hspec-discover:hspec-discover
116128
117129test-suite doctests
118130 -- See QuickCheck note in https://github.com/phadej/cabal-doctest#notes
test/Data/Swagger/Schema/ValidationSpec.hs+1−1
@@ -16,7 +16,7 @@ import "unordered-containers" Data.HashSet (HashSet)
1616import qualified "unordered-containers" Data.HashSet as HashSet
1717import Data.HashMap.Strict (HashMap)
1818import qualified Data.HashMap.Strict as HashMap
19−import Data.List.NonEmpty (NonEmpty(..), nonEmpty)
19+import Data.List.NonEmpty.Compat (NonEmpty(..), nonEmpty)
2020import Data.Map (Map)
2121import Data.Monoid (mempty)
2222import Data.Proxy