Timothy Heckman created THRIFT-3333:
---------------------------------------
Summary: Go Thrift generator creates code with invalid package name
Key: THRIFT-3333
URL: https://issues.apache.org/jira/browse/THRIFT-3333
Project: Thrift
Issue Type: Bug
Components: Go - Compiler
Affects Versions: 0.9.2, 1.0
Environment: Mac OS X 10.10.5
Reporter: Timothy Heckman
Priority: Critical
If the name of your Thrift package has a hyphen in it, invalid Go source code
will be generated. Following the instructions here:
* https://thrift.apache.org/tutorial/go
If you rename the tutorial file to {{tutorial-test.thrift}}, the following
error happens when you run {{thrift -r --gen go tutorial-test.thrift}}:
{noformat}
./gen-go//tutorial-stuff/calculator.go:4:17: expected ';', found '-'
WARNING - Running 'gofmt -w ./gen-go//tutorial-stuff/calculator.go' failed.
./gen-go//tutorial-stuff/ttypes.go:4:17: expected ';', found '-'
WARNING - Running 'gofmt -w ./gen-go//tutorial-stuff/ttypes.go' failed.
./gen-go//tutorial-stuff/constants.go:4:17: expected ';', found '-'
WARNING - Running 'gofmt -w ./gen-go//tutorial-stuff/constants.go' failed.
{noformat}
Looking at the source code, the issue looks to be because the package name has
a hyphen in it:
{code:title=calculator.go}
// Autogenerated by Thrift Compiler (1.0.0-dev)
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
package tutorial-stuff
import (
"bytes"
"fmt"
"git.apache.org/thrift.git/lib/go/thrift"
"shared"
)
{code}
This has been tested on Mac OS X 10.10.5 by installing {{v0.9.2}} as well as
{{v1.0.0-dev}} using homebrew. Both result in the same failure.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)