docker 0.3.0.0 → 0.3.0.1
raw patch · 3 files changed
+17/−22 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- README.md +3/−8
- docker.cabal +3/−3
- src/Docker/Client/Types.hs +11/−11
README.md view
@@ -7,17 +7,12 @@ ## Current state -**Not production ready yet!**--The library is going through a **total rewrite**.--See [Issue #12](https://github.com/denibertovic/docker-hs/issues/12) for things-that need to happen before a new release.-+**API is still no stable.**+We're looking to stabilize the API after the next release (0.4.0.0) ## Contributing -If you wish to contribute please see the Issue mentioned above or any issue tagged with "help wanted".+If you wish to contribute please see any issue tagged with "help wanted". Make sure to submit your PR's against the `dev` branch. Please consider filling an Issue first and discuss design decisions and implementation details before
docker.cabal view
@@ -1,7 +1,7 @@ name: docker-version: 0.3.0.0+version: 0.3.0.1 synopsis: An API client for docker written in Haskell-description: See README.md+description: See API documentation below. homepage: https://github.com/denibertovic/docker-hs license: BSD3 license-file: LICENSE@@ -25,7 +25,7 @@ , bytestring >= 0.10.0 && < 0.11.0 , containers >= 0.5.0 && < 0.6.0 , data-default-class >= 0.0.1 && < 0.2.0- , http-client >= 0.4.0 && < 0.6.0+ , http-client >= 0.4.0 && < 0.5.0 , http-types >= 0.9 && < 0.10.0 , mtl >= 2.0.0 && < 3.0.0 , network >= 2.6.0
src/Docker/Client/Types.hs view
@@ -423,7 +423,7 @@ data Network = Network NetworkMode NetworkOptions deriving (Eq, Show) -instance FromJSON [Network] where+instance {-# OVERLAPPING #-} FromJSON [Network] where parseJSON (JSON.Object o) = HM.foldlWithKey' f (return []) o where f accM k' v' = do@@ -537,13 +537,13 @@ -- If there are multiple lables with the same Name in the list -- then the last one wins.-instance ToJSON [Label] where+instance {-# OVERLAPPING #-} ToJSON [Label] where toJSON [] = emptyJsonObject toJSON (l:ls) = toJsonKeyVal (l:ls) key val where key (Label k _) = T.unpack k val (Label _ v) = v -instance FromJSON [Label] where+instance {-# OVERLAPPING #-} FromJSON [Label] where parseJSON (JSON.Object o) = HM.foldlWithKey' f (return []) o where f accM k v = do acc <- accM@@ -758,12 +758,12 @@ -- @ newtype Volume = Volume FilePath deriving (Eq, Show) -instance ToJSON [Volume] where+instance {-# OVERLAPPING #-} ToJSON [Volume] where toJSON [] = emptyJsonObject toJSON (v:vs) = toJsonKey (v:vs) getKey where getKey (Volume v) = v -instance FromJSON [Volume] where+instance {-# OVERLAPPING #-} FromJSON [Volume] where parseJSON (JSON.Object o) = return $ map (Volume . T.unpack) $ HM.keys o parseJSON (JSON.Null) = return [] parseJSON _ = fail "Volume is not an object"@@ -860,13 +860,13 @@ data LogDriverOption = LogDriverOption Name Value deriving (Eq, Show) -instance ToJSON [LogDriverOption] where+instance {-# OVERLAPPING #-} ToJSON [LogDriverOption] where toJSON [] = emptyJsonObject toJSON (o:os) = toJsonKeyVal (o:os) key val where key (LogDriverOption n _) = T.unpack n val (LogDriverOption _ v) = v -instance FromJSON [LogDriverOption] where+instance {-# OVERLAPPING #-} FromJSON [LogDriverOption] where parseJSON (JSON.Object o) = HM.foldlWithKey' f (return []) o where f accM k v = do acc <- accM@@ -998,7 +998,7 @@ oldeps = exposedPorts cc -instance FromJSON [PortBinding] where+instance {-# OVERLAPPING #-} FromJSON [PortBinding] where parseJSON (JSON.Object o) = HM.foldlWithKey' f (return []) o where f accM k v = case T.split (== '/') k of@@ -1012,7 +1012,7 @@ parseJSON (JSON.Null) = return [] parseJSON _ = fail "PortBindings is not an object" -instance ToJSON [PortBinding] where+instance {-# OVERLAPPING #-} ToJSON [PortBinding] where toJSON [] = emptyJsonObject toJSON (p:ps) = toJsonKeyVal (p:ps) key val where key p = T.unpack $ portAndType2Text (containerPort p) (portType p)@@ -1323,7 +1323,7 @@ -- @ data ExposedPort = ExposedPort Port PortType deriving (Eq, Show) -instance FromJSON [ExposedPort] where+instance {-# OVERLAPPING #-} FromJSON [ExposedPort] where parseJSON (JSON.Object o) = HM.foldlWithKey' f (return []) o where f accM k _ = case T.split (== '/') k of@@ -1336,7 +1336,7 @@ parseJSON (JSON.Null) = return [] parseJSON _ = fail "ExposedPorts is not an object" -instance ToJSON [ExposedPort] where+instance {-# OVERLAPPING #-} ToJSON [ExposedPort] where toJSON [] = emptyJsonObject toJSON (p:ps) = toJsonKey (p:ps) key where key (ExposedPort p t) = show p <> slash <> show t