protocol-buffers 1.7.9 → 1.8.0
raw patch · 6 files changed
+55/−18 lines, 6 filesdep ~base
Dependency ranges changed: base
Files
- README +42/−2
- TODO +2/−1
- Text/ProtocolBuffers/Extensions.hs +4/−4
- Text/ProtocolBuffers/Unknown.hs +2/−4
- Text/ProtocolBuffers/WireMessage.hs +3/−4
- protocol-buffers.cabal +2/−3
README view
@@ -1,9 +1,49 @@ This the README file for protocol-buffers, protocol-buffers-descriptors, and hprotoc. These are three interdependent Haskell packages by Chris Kuklewicz.-This README was updated most recently to reflect version 1.5.0-This code should be compatible with Google protobuf version 2.1.0+This README was updated most recently to reflect version 1.8.0+This code should be compatible with Google protobuf version 2.3.0 Questions and answers:++What is new in 1.8.0 ?++Submitted bug fixes!+Fix for compiling generated haskell that uses packed fields.+Fix to mangling default value Enum names.+Fix for using "group" when in plug-in mode.++I also changed the directory layout for the source code of protocol-buffers-descriptor. The+auto-generated code is now in "src-auto-generated" and the API for accessing options is under+"src-hand-written". I also added a README file to the descriptor package explaining the commands to+recreate src-auto-generated.++What is new in 1.7.0 ?++This version adds a patch from George van den Driessche to allow hprotoc to work as a plug-in to+protoc. You must copy the hprotoc to be named protoc-gen-haskell (not a symlink) and call it as:++/opt/protobuf-2.3.0/bin/protoc --plugin=./protoc-gen-haskell --haskell_out=DirOut test.proto++What is new in 1.6.0 ?++This version is now caught up with the official protobuf-2.3.0 release.+ The highlights of the changes are (cribbing from Kenton's announcement):++> General+> * Parsers for repeated numeric fields now always accept both packed and+> unpacked input. The [packed=true] option only affects serializers.+> Therefore, it is possible to switch a field to packed format without+> breaking backwards-compatibility -- as long as all parties are using+> protobuf 2.3.0 or above, at least.+and+> * inf, -inf, and nan can now be used as default values for float and double+> fields.+have been added to 1.6.0.++I did not add support for plugin code generators or for writing directly+to a compressed zip or jar file. No service related code is ever+generated so the "option *_generic_services" changes were ignored.+ What is new in 1.5.0 ?
TODO view
@@ -1,4 +1,5 @@-make changes to align with protocol-buffer 2.3.0+make changes to align with protocol-buffer 2.3.0 -- done+ http://protobuf.googlecode.com/svn/trunk/CHANGES.txt General
Text/ProtocolBuffers/Extensions.hs view
@@ -36,15 +36,15 @@ import qualified Data.Map as M import Data.Maybe(fromMaybe,isJust) import Data.Monoid(mappend,mconcat)-import Data.Sequence(Seq,(|>),(><))-import qualified Data.Sequence as Seq-import Data.Typeable+import Data.Sequence((|>),(><))+import qualified Data.Sequence as Seq(singleton,null,empty)+import Data.Typeable() import Text.ProtocolBuffers.Basic import Text.ProtocolBuffers.Default() import Text.ProtocolBuffers.WireMessage import Text.ProtocolBuffers.Reflections-import Text.ProtocolBuffers.Get as Get (Get,runGet,Result(..),bytesRead)+import Text.ProtocolBuffers.Get as Get (Result(..),bytesRead) err :: String -> b err msg = error $ "Text.ProtocolBuffers.Extensions error\n"++msg
Text/ProtocolBuffers/Unknown.hs view
@@ -10,14 +10,12 @@ import qualified Data.Foldable as F import Data.Generics import Data.Monoid(mempty,mappend)-import Data.Sequence(Seq,(|>))-import qualified Data.Sequence as Seq-import Data.Typeable+import Data.Sequence((|>))+import Data.Typeable() import Control.Monad.Error.Class(catchError) import Text.ProtocolBuffers.Basic import Text.ProtocolBuffers.WireMessage-import Text.ProtocolBuffers.Get as Get (Get) -- err :: String -> b -- err msg = error $ "Text.ProtocolBuffers.Unknown error\n"++msg
Text/ProtocolBuffers/WireMessage.hs view
@@ -15,8 +15,7 @@ ( -- * User API functions -- ** Main encoding and decoding operations (non-delimited message encoding) messageSize,messagePut,messageGet,messagePutM,messageGetM- -- ** These should agree with the length delimited message format of protobuf-2.10, where the- -- message size preceeds the data.+ -- ** These should agree with the length delimited message format of protobuf-2.10, where the message size preceeds the data. , messageWithLengthSize,messageWithLengthPut,messageWithLengthGet,messageWithLengthPutM,messageWithLengthGetM -- ** Encoding to write or read a single message field (good for delimited messages or incremental use) , messageAsFieldSize,messageAsFieldPutM,messageAsFieldGetM@@ -365,7 +364,7 @@ if done then notEnoughData else do wireTag <- fmap WireTag getVarInt -- get tag off wire- let (fieldId,wireType) = splitWireTag wireTag+ let (_fieldId,wireType) = splitWireTag wireTag if wireType == 4 then notEnoughData -- END_GROUP too soon else let reqs' = Set.delete wireTag reqs in updater wireTag {- fieldId wireType -} message >>= go reqs'@@ -374,7 +373,7 @@ if done then return message else do wireTag <- fmap WireTag getVarInt -- get tag off wire- let (fieldId,wireType) = splitWireTag wireTag+ let (_fieldId,wireType) = splitWireTag wireTag if wireType == 4 then return message else updater wireTag {- fieldId wireType -} message >>= go' initialMessage = mergeEmpty
protocol-buffers.cabal view
@@ -1,5 +1,5 @@ name: protocol-buffers-version: 1.7.9+version: 1.8.0 cabal-version: >= 1.6 build-type: Simple license: BSD3@@ -15,8 +15,7 @@ category: Text Tested-With: GHC ==6.10.1 --data-files: -extra-source-files: Setup.hs- TODO+extra-source-files: TODO README -- extra-tmp-files: