From 93cd375ada2d170f4df5dd16695cb191eb90c6eb Mon Sep 17 00:00:00 2001 From: Serge Zaitsev Date: Tue, 29 Jun 2021 10:01:21 +0200 Subject: [PATCH] remove GO111MODULE (#36235) --- Makefile | 4 ++-- UPGRADING_DEPENDENCIES.md | 13 +++++-------- build.go | 1 - devenv/docker/blocks/slow_proxy/Dockerfile | 3 ++- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index c2296090f0c..da30a5fb5c6 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ .PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-dev build-docker-full lint-go golangci-lint test-go test-js test run run-frontend clean devenv devenv-down protobuf help -GO = GO111MODULE=on go +GO = go GO_FILES ?= ./pkg/... SH_FILES ?= $(shell find ./scripts -name *.sh) @@ -51,7 +51,7 @@ scripts/go/bin/bra: scripts/go/go.mod $(GO) build -o ./bin/bra github.com/unknwon/bra run: scripts/go/bin/bra ## Build and run web server on filesystem changes. - @GO111MODULE=on scripts/go/bin/bra run + @scripts/go/bin/bra run run-frontend: deps-js ## Fetch js dependencies and watch frontend for rebuild yarn start diff --git a/UPGRADING_DEPENDENCIES.md b/UPGRADING_DEPENDENCIES.md index 914309f287a..06e0146f0a4 100644 --- a/UPGRADING_DEPENDENCIES.md +++ b/UPGRADING_DEPENDENCIES.md @@ -20,28 +20,25 @@ Upgrading Go or Node.js requires making changes in many different files. See bel The Grafana project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. This requires a working Go environment with version 1.11 or greater installed. -> **Note:** Since most developers of Grafana still use the `GOPATH` we need to specify `GO111MODULE=on` to make `go mod` and `got get` work as intended. If you have setup Grafana outside of the `GOPATH` on your machine you can skip `GO111MODULE=on` when running the commands below. - To add or update a new dependency, use the `go get` command: ```bash -# The GO111MODULE variable can be omitted when the code isn't located in GOPATH. -# Pick the latest tagged release. -GO111MODULE=on go get example.com/some/module/pkg +go get example.com/some/module/pkg # Pick a specific version. -GO111MODULE=on go get example.com/some/module/pkg@vX.Y.Z +go get example.com/some/module/pkg@vX.Y.Z ``` Tidy up the `go.mod` and `go.sum` files: ```bash -# The GO111MODULE variable can be omitted when the code isn't located in GOPATH. -GO111MODULE=on go mod tidy +go mod tidy ``` You have to commit the changes to `go.mod` and `go.sum` before submitting the pull request. +To understand what the actual dependencies of `grafana-server` are, one could run it with `-vv` flag. This might produce an output, different from `go.mod` contents and `-vv` option is the source of truth here. It lists the modules _compiled_ into the executable, while `go.mod` lists also test and weak transitive dependencies (modules, used in some package, which is not in use by itself). If you are interested in reporting a vulnerability in a dependency module - please consult `-vv` output, maybe the "dependency" is not a dependency as such. + ### Upgrading dependencies If you need to upgrade a direct or indirect dependency, you can do it like so, $MODULE being the dependency in question: `go get -u $MODULE`. The corresponding entry in go.mod should then have the version you specified; if it's an indirect dependency, the entry should have the `// indirect` comment. Follow this by executing `go mod tidy`, to ensure that go.mod and go.sum are up to date. If the indirect dependency turns out to not be used (transitively) by any of our packages, `go mod tidy` will actually strip it from go.mod. In that case, you can just ignore it since it isn't used in the end. diff --git a/build.go b/build.go index b0daa7d972a..45e1bff35ae 100644 --- a/build.go +++ b/build.go @@ -393,7 +393,6 @@ func runError(cmd string, args ...string) ([]byte, error) { func runPrint(cmd string, args ...string) { log.Println(cmd, strings.Join(args, " ")) ecmd := exec.Command(cmd, args...) - ecmd.Env = append(os.Environ(), "GO111MODULE=on") ecmd.Stdout = os.Stdout ecmd.Stderr = os.Stderr err := ecmd.Run() diff --git a/devenv/docker/blocks/slow_proxy/Dockerfile b/devenv/docker/blocks/slow_proxy/Dockerfile index 735d433414c..91ac1efbacf 100644 --- a/devenv/docker/blocks/slow_proxy/Dockerfile +++ b/devenv/docker/blocks/slow_proxy/Dockerfile @@ -1,7 +1,8 @@ FROM golang:latest as builder ADD main.go / WORKDIR / -RUN GO111MODULE=off CGO_ENABLED=0 go build -o main . +RUN go mod init proxy +RUN CGO_ENABLED=0 go build -o main . FROM scratch WORKDIR /