git.iko.soy/typeable/openapi3
on master help sign in
Merge pull request #154 from phadej/base-compat-0.10
c8ccdd7Oleg Grenrus
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+
12.2.1
82.2.1
2-----
9-----
3
10
src/Data/Swagger/Declare.hs+4−5
@@ -29,7 +29,6 @@ import Control.Monad.Trans.RWS.Strict as Strict
29import Control.Monad.Trans.Writer.Lazy as Lazy
29import Control.Monad.Trans.Writer.Lazy as Lazy
30import Control.Monad.Trans.Writer.Strict as Strict
30import Control.Monad.Trans.Writer.Strict as Strict
31import Data.Functor.Identity
31import Data.Functor.Identity
32−import Data.Monoid
33
32
34-- | A declare monad transformer parametrized by:
33-- | A declare monad transformer parametrized by:
35--
34--
@@ -50,15 +49,15 @@ instance (Applicative m, Monad m, Monoid d) => Applicative (DeclareT d m) where
50 pure x = DeclareT (\_ -> pure (mempty, x))
49 pure x = DeclareT (\_ -> pure (mempty, x))
51 DeclareT df <*> DeclareT dx = DeclareT $ \d -> do
50 DeclareT df <*> DeclareT dx = DeclareT $ \d -> do
52 ~(d', f) <- df d
51 ~(d', f) <- df d
53− ~(d'', x) <- dx (d <> d')
52+ ~(d'', x) <- dx (mappend d d')
54− return (d' <> d'', f x)
53+ return (mappend d' d'', f x)
55
54
56instance (Applicative m, Monad m, Monoid d) => Monad (DeclareT d m) where
55instance (Applicative m, Monad m, Monoid d) => Monad (DeclareT d m) where
57 return x = DeclareT (\_ -> pure (mempty, x))
56 return x = DeclareT (\_ -> pure (mempty, x))
58 DeclareT dx >>= f = DeclareT $ \d -> do
57 DeclareT dx >>= f = DeclareT $ \d -> do
59 ~(d', x) <- dx d
58 ~(d', x) <- dx d
60− ~(d'', y) <- runDeclareT (f x) (d <> d')
59+ ~(d'', y) <- runDeclareT (f x) (mappend d d')
61− return (d' <> d'', y)
60+ return (mappend d' d'', y)
62
61
63instance Monoid d => MonadTrans (DeclareT d) where
62instance Monoid d => MonadTrans (DeclareT d) where
64 lift m = DeclareT (\_ -> (,) mempty `liftM` m)
63 lift m = DeclareT (\_ -> (,) mempty `liftM` m)
src/Data/Swagger/Internal.hs+1−1
@@ -33,7 +33,7 @@ import qualified Data.HashMap.Strict as HashMap
33import Data.Map (Map)
33import Data.Map (Map)
34import qualified Data.Map as Map
34import qualified Data.Map as Map
35import Data.Monoid (Monoid (..))
35import Data.Monoid (Monoid (..))
36−import Data.Semigroup (Semigroup (..))
36+import Data.Semigroup.Compat (Semigroup (..))
37import Data.Scientific (Scientific)
37import Data.Scientific (Scientific)
38import Data.Set (Set)
38import Data.Set (Set)
39import Data.String (IsString(..))
39import Data.String (IsString(..))
src/Data/Swagger/Internal/AesonUtils.hs−1
@@ -47,7 +47,6 @@ import qualified Data.HashMap.Strict.InsOrd as InsOrd
47
47
48#if MIN_VERSION_aeson(0,10,0)
48#if MIN_VERSION_aeson(0,10,0)
49import Data.Aeson (Encoding, pairs, (.=), Series)
49import Data.Aeson (Encoding, pairs, (.=), Series)
50−import Data.Monoid ((<>))
51#endif
50#endif
52
51
53-------------------------------------------------------------------------------
52-------------------------------------------------------------------------------
src/Data/Swagger/Internal/ParamSchema.hs+1−1
@@ -40,7 +40,7 @@ import qualified Data.Vector.Primitive as VP
40import qualified Data.Vector.Storable as VS
40import qualified Data.Vector.Storable as VS
41import qualified Data.Vector.Unboxed as VU
41import qualified Data.Vector.Unboxed as VU
42import Data.Version (Version)
42import Data.Version (Version)
43−import Numeric.Natural
43+import Numeric.Natural.Compat (Natural)
44import Data.Word
44import Data.Word
45import Data.UUID.Types (UUID)
45import Data.UUID.Types (UUID)
46
46
src/Data/Swagger/Internal/Schema.hs+2−2
@@ -44,7 +44,7 @@ import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
44import Data.Int
44import Data.Int
45import Data.IntSet (IntSet)
45import Data.IntSet (IntSet)
46import Data.IntMap (IntMap)
46import Data.IntMap (IntMap)
47−import Data.List.NonEmpty (NonEmpty)
47+import Data.List.NonEmpty.Compat (NonEmpty)
48import Data.Map (Map)
48import Data.Map (Map)
49import Data.Proxy
49import Data.Proxy
50import Data.Scientific (Scientific)
50import Data.Scientific (Scientific)
@@ -58,7 +58,7 @@ import qualified Data.Vector.Primitive as VP
58import qualified Data.Vector.Storable as VS
58import qualified Data.Vector.Storable as VS
59import qualified Data.Vector.Unboxed as VU
59import qualified Data.Vector.Unboxed as VU
60import Data.Version (Version)
60import Data.Version (Version)
61−import Numeric.Natural
61+import Numeric.Natural.Compat (Natural)
62import Data.Word
62import Data.Word
63import GHC.Generics
63import GHC.Generics
64import qualified Data.UUID.Types as UUID
64import qualified Data.UUID.Types as UUID
src/Data/Swagger/Internal/Utils.hs−1
@@ -21,7 +21,6 @@ import qualified Data.HashMap.Strict as HashMap
21import Data.HashMap.Strict.InsOrd (InsOrdHashMap)
21import Data.HashMap.Strict.InsOrd (InsOrdHashMap)
22import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
22import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
23import Data.Map (Map)
23import Data.Map (Map)
24−import Data.Monoid
25import Data.Set (Set)
24import Data.Set (Set)
26import Data.Text (Text)
25import Data.Text (Text)
27import GHC.Generics
26import GHC.Generics
src/Data/Swagger/Operation.hs−1
@@ -37,7 +37,6 @@ import Control.Lens
37import Data.Data.Lens
37import Data.Data.Lens
38import Data.List.Compat
38import Data.List.Compat
39import Data.Maybe (mapMaybe)
39import Data.Maybe (mapMaybe)
40−import Data.Monoid
41import qualified Data.Set as Set
40import qualified Data.Set as Set
42
41
43import Data.Swagger.Declare
42import 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
2packages:
2packages:
3- '.'
3- '.'
4extra-deps:
4extra-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
1name: swagger2
2name: swagger2
2−version: 2.2.1
3+version: 2.2.2
4+
3synopsis: Swagger 2.0 data model
5synopsis: Swagger 2.0 data model
4description:
6description:
5 This library is inteded to be used for decoding and encoding Swagger 2.0 API
7 This library is inteded to be used for decoding and encoding Swagger 2.0 API
6 specifications as well as manipulating them.
8 specifications as well as manipulating them.
7 .
9 .
8 The original Swagger 2.0 specification is available at http://swagger.io/specification/.
10 The original Swagger 2.0 specification is available at http://swagger.io/specification/.
11+
9homepage: https://github.com/GetShopTV/swagger2
12homepage: https://github.com/GetShopTV/swagger2
10bug-reports: https://github.com/GetShopTV/swagger2/issues
13bug-reports: https://github.com/GetShopTV/swagger2/issues
11license: BSD3
14license: BSD3
@@ -20,7 +23,6 @@ extra-source-files:
20 , CHANGELOG.md
23 , CHANGELOG.md
21 , examples/*.hs
24 , examples/*.hs
22 , include/overlapping-compat.h
25 , include/overlapping-compat.h
23−cabal-version: >=1.10
24tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1
26tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1
25
27
26custom-setup
28custom-setup
@@ -48,59 +50,72 @@ library
48 Data.Swagger.Internal.Utils
50 Data.Swagger.Internal.Utils
49 Data.Swagger.Internal.AesonUtils
51 Data.Swagger.Internal.AesonUtils
50 Data.Swagger.Internal.TypeShape
52 Data.Swagger.Internal.TypeShape
53+
54+ -- GHC boot libraries
51− build-depends: base >=4.7 && <4.12
55+ build-depends:
52− , base-compat >=0.9.1 && <0.10
56+ base >=4.7 && <4.12
53− , aeson >=1.0.0.0
54− , bytestring
57+ , bytestring >=0.10.4 && <0.11
55− , containers
58+ , containers >=0.5.5.1 && <0.6
56− , hashable
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
57− , generics-sop >=0.2 && <0.4
71+ , generics-sop >=0.3.2.0 && <0.4
72+ , hashable >=1.2.7.0 && <1.3
58− , http-media
73+ , http-media >=0.7.1.2 && <0.8
59− , insert-ordered-containers >=0.1.0.0 && <0.3
74+ , insert-ordered-containers >=0.1.0.0 && <0.3
60− , lens
75+ , lens >=4.16.1 && <4.17
61− , mtl
62− , network
76+ , network >=2.6.3.5 && <2.7
63− , scientific
77+ , scientific >=0.3.5.3 && <0.4
64− , text
65− , template-haskell
66− , time
67− , transformers
68− , transformers-compat >= 0.3
78+ , transformers-compat >=0.3 && <0.7
69− , unordered-containers
79+ , unordered-containers >=0.2.9.0 && <0.3
70− , vector
71− , uuid-types >=1.0.2 && <1.1
80+ , uuid-types >=1.0.2 && <1.1
72− if !impl(ghc >= 7.10)
81+ , vector >=0.12.0.1 && <0.13
73− build-depends: nats >=1.1.1 && <1.2
82+
74− if !impl(ghc >= 8.0)
75− build-depends: semigroups >= 0.18.3 && <0.19
76 default-language: Haskell2010
83 default-language: Haskell2010
77
84
78test-suite spec
85test-suite spec
79 type: exitcode-stdio-1.0
86 type: exitcode-stdio-1.0
80 hs-source-dirs: test
87 hs-source-dirs: test
81 main-is: Spec.hs
88 main-is: Spec.hs
89+
90+ -- From library parat
82 -- We need aeson's toEncoding for doctests too
91 -- We need aeson's toEncoding for doctests too
83− build-depends: base
92+ build-depends:
93+ base
94+ , swagger2
95+ , aeson
84− , base-compat
96+ , base-compat-batteries
85− , aeson >=0.10.0.0
86− , aeson-qq
87− , bytestring
97+ , bytestring
88− , containers
98+ , containers
89− , hashable
99+ , hashable
90− , hspec
91− , insert-ordered-containers
100+ , insert-ordered-containers
92− , HUnit
101+ , lens
93− , mtl
102+ , mtl
94− , QuickCheck >=2.8.2
95− , quickcheck-instances
96− , swagger2
97− , text
103+ , text
98− , time
104+ , time
99− , unordered-containers
105+ , unordered-containers
100− , vector
106+ , vector
101− , lens
107+
102− if !impl(ghc >= 8.0)
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
103− build-depends: semigroups
117+ build-tool-depends:
118+ hspec-discover:hspec-discover >=2.4.8 && <2.6
104
119
105 other-modules:
120 other-modules:
106 SpecCommon
121 SpecCommon
@@ -110,9 +125,6 @@ test-suite spec
110 Data.Swagger.SchemaSpec
125 Data.Swagger.SchemaSpec
111 Data.Swagger.Schema.ValidationSpec
126 Data.Swagger.Schema.ValidationSpec
112 default-language: Haskell2010
127 default-language: Haskell2010
113− -- https://github.com/haskell/cabal/issues/3708
114− build-tool-depends:
115− hspec-discover:hspec-discover
116
128
117test-suite doctests
129test-suite doctests
118 -- See QuickCheck note in https://github.com/phadej/cabal-doctest#notes
130 -- 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)
16import qualified "unordered-containers" Data.HashSet as HashSet
16import qualified "unordered-containers" Data.HashSet as HashSet
17import Data.HashMap.Strict (HashMap)
17import Data.HashMap.Strict (HashMap)
18import qualified Data.HashMap.Strict as HashMap
18import qualified Data.HashMap.Strict as HashMap
19−import Data.List.NonEmpty (NonEmpty(..), nonEmpty)
19+import Data.List.NonEmpty.Compat (NonEmpty(..), nonEmpty)
20import Data.Map (Map)
20import Data.Map (Map)
21import Data.Monoid (mempty)
21import Data.Monoid (mempty)
22import Data.Proxy
22import Data.Proxy