THRIFT-4236 Support context in go generated code
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1309
diff --git a/tutorial/go/Makefile.am b/tutorial/go/Makefile.am
index a707d5d..c328d38 100644
--- a/tutorial/go/Makefile.am
+++ b/tutorial/go/Makefile.am
@@ -20,27 +20,30 @@
 THRIFT = $(top_builddir)/compiler/cpp/thrift
 
 gen-go/tutorial/calculator.go gen-go/shared/shared_service.go: $(top_srcdir)/tutorial/tutorial.thrift
-	$(THRIFT) --gen go -r $<
+	$(THRIFT) --gen go:legacy_context -r $<
 
 all-local: gen-go/tutorial/calculator.go
 
-
-check: src/git.apache.org/thrift.git/lib/go/thrift
-	$(THRIFT) -r --gen go $(top_srcdir)/tutorial/tutorial.thrift
+check: src/git.apache.org/thrift.git/lib/go/thrift thirdparty-dep
+	$(THRIFT) -r --gen go:legacy_context $(top_srcdir)/tutorial/tutorial.thrift
 	cp -r gen-go/* src/
-	GOPATH=`pwd` $(GO) build ./...
-	GOPATH=`pwd` $(GO) build -o go-tutorial src/*.go
+	GOPATH=`pwd` $(GO) build -o go-tutorial ./src
 	GOPATH=`pwd` $(GO) build -o calculator-remote src/tutorial/calculator-remote/calculator-remote.go
 
 src/git.apache.org/thrift.git/lib/go/thrift:
 	mkdir -p src/git.apache.org/thrift.git/lib/go
 	ln -sf $(realpath $(top_srcdir)/lib/go/thrift) src/git.apache.org/thrift.git/lib/go/thrift
 
+thirdparty-dep:
+	mkdir -p src/golang.org/x/net
+	GOPATH=`pwd`/gopath $(GO) get golang.org/x/net/context
+	ln -sf `pwd`/gopath/src/golang.org/x/net/context src/golang.org/x/net/context
+
 tutorialserver: all
 	GOPATH=`pwd` $(GO) run src/*.go -server=true
 
 tutorialclient: all
-	GOPATH=`pwd` $(GO) run src/*.go 
+	GOPATH=`pwd` $(GO) run src/*.go
 
 tutorialsecureserver: all
 	GOPATH=`pwd` $(GO) run src/*.go -server=true -secure=true