You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jed Smith (JIRA)" <ji...@apache.org> on 2012/08/27 05:08:08 UTC

[jira] [Updated] (THRIFT-1600) Thrift Go Compiler and Library out of date with Go 1 Release.

     [ https://issues.apache.org/jira/browse/THRIFT-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jed Smith updated THRIFT-1600:
------------------------------

    Attachment: thrift-1600-go1-support.patch.gz

Hello,

I have taken a stab at porting Aalok and Matt's Go 1 work to trunk, and it applied cleanly (by hand). I cleaned up the diff a lot because there were hundreds of lines whose whitespace was modified and which effectively created a no-op; I did not want to dirty the tree with all of that noise, with the exception of Go source which I know was run through gofmt, so I went ahead and pulled that in.

There's good work here but it's being stagnated on Github, and I'm bummed out about that. I'm hoping to resurrect this bug and give it some life, potentially for 0.9.0 or a point release -- Go 1 is pretty mature, now, and it'd be good to make Go a first-class language again for Thrift.

{code:none}
M       configure.ac
M       tutorial/go/src/GoServer.go
M       tutorial/go/src/GoClient.go
M       tutorial/go/src/main.go
M       tutorial/go/src/CalculatorHandler.go
M       tutorial/go/Make.deps
M       tutorial/go/deps.bash
M       tutorial/go/Makefile
D       lib/go/thrift
D       lib/go/thrift/tnonblocking_server.go
D       lib/go/thrift/tjson_protocol_test.go
D       lib/go/thrift/tjson_protocol.go
D       lib/go/thrift/tset.go
D       lib/go/thrift/texception_test.go
D       lib/go/thrift/texception.go
D       lib/go/thrift/tiostream_transport.go
D       lib/go/thrift/_testmain.go
D       lib/go/thrift/tprotocol_test.go
D       lib/go/thrift/tnonblocking_server_socket.go
D       lib/go/thrift/tmemory_buffer.go
D       lib/go/thrift/tnumeric.go
D       lib/go/thrift/tsimple_json_protocol_test.go
D       lib/go/thrift/tbinary_protocol_test.go
D       lib/go/thrift/tserver_test.go
D       lib/go/thrift/tserver.go
D       lib/go/thrift/tprocessor_factory.go
D       lib/go/thrift/tcompact_protocol.go
D       lib/go/thrift/tframed_transport_test.go
D       lib/go/thrift/tframed_transport.go
D       lib/go/thrift/tnonblocking_socket.go
D       lib/go/thrift/thttp_client_test.go
D       lib/go/thrift/tnonblocking_transport_test.go
D       lib/go/thrift/tsimple_server.go
D       lib/go/thrift/tprocessor.go
D       lib/go/thrift/tapplication_exception_test.go
D       lib/go/thrift/ttype.go
D       lib/go/thrift/tcontainer.go
D       lib/go/thrift/ttransport_factory.go
D       lib/go/thrift/tstruct.go
D       lib/go/thrift/Makefile
D       lib/go/thrift/tprotocol_factory.go
D       lib/go/thrift/tsocket.go
D       lib/go/thrift/ttransport_test.go
D       lib/go/thrift/ttransport.go
D       lib/go/thrift/tiostream_transport_test.go
D       lib/go/thrift/tmemory_buffer_test.go
D       lib/go/thrift/tprotocol.go
D       lib/go/thrift/tsimple_json_protocol.go
D       lib/go/thrift/tbinary_protocol.go
D       lib/go/thrift/tcompact_protocol_test.go
D       lib/go/thrift/tbase.go
D       lib/go/thrift/ttransport_exception.go
D       lib/go/thrift/tlist.go
D       lib/go/thrift/tmap.go
D       lib/go/thrift/thttp_client.go
D       lib/go/thrift/tserver_socket.go
D       lib/go/thrift/tnonblocking_transport.go
D       lib/go/thrift/tprotocol_exception.go
D       lib/go/thrift/tapplication_exception.go
D       lib/go/thrift/tserver_transport.go
D       lib/go/thrift/tfield.go
D       lib/go/thrift/tmessage.go
D       lib/go/thrift/tmessagetype.go
D       lib/go/thrift/tcompare.go
A       lib/go/src
A       lib/go/src/thrift
A       lib/go/src/thrift/tnonblocking_server.go
A       lib/go/src/thrift/tjson_protocol_test.go
A       lib/go/src/thrift/tjson_protocol.go
A       lib/go/src/thrift/tset.go
A       lib/go/src/thrift/texception_test.go
A       lib/go/src/thrift/texception.go
A       lib/go/src/thrift/tiostream_transport.go
A       lib/go/src/thrift/_testmain.go
A       lib/go/src/thrift/tprotocol_test.go
A       lib/go/src/thrift/tnonblocking_server_socket.go
A       lib/go/src/thrift/tmemory_buffer.go
A       lib/go/src/thrift/tnumeric.go
A       lib/go/src/thrift/tsimple_json_protocol_test.go
A       lib/go/src/thrift/tbinary_protocol_test.go
A       lib/go/src/thrift/tserver_test.go
A       lib/go/src/thrift/tserver.go
A       lib/go/src/thrift/tprocessor_factory.go
A       lib/go/src/thrift/tcompact_protocol.go
A       lib/go/src/thrift/tframed_transport_test.go
A       lib/go/src/thrift/tframed_transport.go
A       lib/go/src/thrift/tnonblocking_socket.go
A       lib/go/src/thrift/thttp_client_test.go
A       lib/go/src/thrift/tmap_test.go
A       lib/go/src/thrift/tnonblocking_transport_test.go
A       lib/go/src/thrift/tsimple_server.go
A       lib/go/src/thrift/tprocessor.go
A       lib/go/src/thrift/tapplication_exception_test.go
A       lib/go/src/thrift/ttype.go
A       lib/go/src/thrift/tcontainer.go
A       lib/go/src/thrift/ttransport_factory.go
A       lib/go/src/thrift/tstruct.go
A       lib/go/src/thrift/Makefile
A       lib/go/src/thrift/tprotocol_factory.go
A       lib/go/src/thrift/tsocket.go
A       lib/go/src/thrift/ttransport_test.go
A       lib/go/src/thrift/ttransport.go
A       lib/go/src/thrift/tiostream_transport_test.go
A       lib/go/src/thrift/tmemory_buffer_test.go
A       lib/go/src/thrift/tprotocol.go
A       lib/go/src/thrift/tsimple_json_protocol.go
A       lib/go/src/thrift/tbinary_protocol.go
A       lib/go/src/thrift/tcompact_protocol_test.go
A       lib/go/src/thrift/tbase.go
A       lib/go/src/thrift/ttransport_exception.go
A       lib/go/src/thrift/tlist.go
A       lib/go/src/thrift/tmap.go
A       lib/go/src/thrift/thttp_client.go
A       lib/go/src/thrift/tserver_socket.go
A       lib/go/src/thrift/tnonblocking_transport.go
A       lib/go/src/thrift/tprotocol_exception.go
A       lib/go/src/thrift/tapplication_exception.go
A       lib/go/src/thrift/tserver_transport.go
A       lib/go/src/thrift/tfield.go
A       lib/go/src/thrift/tmessage.go
A       lib/go/src/thrift/tmessagetype.go
A       lib/go/src/thrift/tcompare.go
A       lib/go/Makefile.am
M       lib/go/Makefile
M       lib/Makefile.am
M       compiler/cpp/src/generate/t_go_generator.cc
{code}

This is an initial, rough cut intended to start discussion. I'm working on verifying it now but dealing with other build chain issues that are unrelated to this patch.
                
> Thrift Go Compiler and Library out of date with Go 1 Release.
> -------------------------------------------------------------
>
>                 Key: THRIFT-1600
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1600
>             Project: Thrift
>          Issue Type: Bug
>          Components: Go - Compiler, Go - Library
>            Reporter: Atul S Vasu
>         Attachments: partial.diff, thrift-1600-go1-support.patch.gz
>
>
> Go 1 is a major release of Go that will be stable in the long term. Read the Go 1 Release Notes for more information. 
> http://golang.org/doc/go1.html
> The current (trunk) compiler and libraries are not compatible with Go1, because of significant changes in the language.
> The pomack/thrift4go seems a valid patch, but doesn't seem to be pulled into Apache Thrift. Possibly merge the development into one place? https://github.com/pomack/thrift4go

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira