commit | 6a08e3108db3c45254bbacc63c70c6addc62e6cb | [log] [tgz] |
---|---|---|
author | Dmitri Shuralyov <dmitshur@golang.org> | Tue Mar 05 16:57:57 2019 -0500 |
committer | Dmitri Shuralyov <dmitshur@golang.org> | Thu Mar 07 16:39:23 2019 +0000 |
tree | 5bcabcd9a7b4bf1b35ea410dbef0649692327316 | |
parent | bd17c084dfc55e91b0bb50cc3d33bd5e31e498c9 [diff] |
playground: use stdlib instead of appengine packages With modern versions of App Engine, it's no longer needed to use the google.golang.org/appengine/... packages. Package log from standard library can be used instead of the google.golang.org/appengine/log package. Packages net/http and context from standard library can be used instead of google.golang.org/appengine/urlfetch. This simplifies the code and reduces the number of dependences. Start using the golangorgenv package from previous commit to make the decision of whether to enforce sharing restrictions, rather than relying on the appengine build tag. The appengine build tag is no longer set in App Engine Standard with Go 1.11+ runtime. An alternative solution would be detect App Engine by doing something like: // GAE_ENV environment variable is set to "standard" in App Engine environment, Go 1.11 runtime. // See https://cloud.google.com/appengine/docs/standard/go111/runtime#environment_variables. var onAppengine = os.Getenv("GAE_ENV") == "standard" But we choose to upgrade to explicit app-scoped environment variable configuration as part of this change. It provides better security properties, and the value of adding an intermediate transitional step is not high enough to justify doing it. When getting the value of "X-AppEngine-Country" header, use its canonical format "X-Appengine-Country" to avoid an allocation. This does not change behavior. Run go mod tidy (using Go 1.12). Updates golang/go#29981 Updates golang/go#30486 Change-Id: I82a59e0f28623e06762b7ebdf3930b5ee243acda Reviewed-on: https://go-review.googlesource.com/c/tools/+/160837 Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.