[ 
https://issues.apache.org/jira/browse/THRIFT-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13442256#comment-13442256
 ] 

Jed Smith edited comment on THRIFT-1600 at 8/27/12 2:08 PM:
------------------------------------------------------------

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.
                
      was (Author: jsmith):
    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

Reply via email to