Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/vgo: updating a package removes some other dependencies in use from go.mod #25247

Closed
shantuo opened this issue May 4, 2018 · 2 comments
Closed
Milestone

Comments

@shantuo
Copy link
Contributor

shantuo commented May 4, 2018

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

$ vgo version
go version go1.10.2 darwin/amd64 vgo:2018-02-20.1

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

$ vgo env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/shantuo/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/shantuo/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/wd/mmfrplpx7svggg5lx6slwhs000_0pg/T/go-build478955928=/tmp/go-build -gno-record-gcc-switches -fno-common"
VGOMODROOT=""

What did you do?

Sample app: https://play.golang.org/p/9Lqr4niTDW0 (OpenCensus sample helloworld with a few lines of code depending on cloud.google.com/go/storage)

Original go.mod (with go.opencensus.io@v0.8.0)

$ cat go.mod
module helloworld

require (
        cloud.google.com/go v0.21.0
        github.com/golang/protobuf v1.1.0
        github.com/googleapis/gax-go v1.0.0
        github.com/prometheus/client_golang v0.9.0-pre1
        github.com/prometheus/common v0.0.0-20180426121432-d811d2e9bf89
        go.opencensus.io v0.8.0
        golang.org/x/net v0.0.0-20180502164142-640f4622ab69
        golang.org/x/oauth2 v0.0.0-20180503012634-cdc340f7c179
        golang.org/x/text v0.3.0
        google.golang.org/api v0.0.0-20180502000444-ce90db2c36a2
        google.golang.org/genproto v0.0.0-20180427144745-86e600f69ee4
        google.golang.org/grpc v1.11.3
)
$ vgo list -m
MODULE                               VERSION
helloworld                           -
cloud.google.com/go                  v0.21.0
github.com/golang/protobuf           v1.1.0
github.com/googleapis/gax-go         v1.0.0
github.com/prometheus/client_golang  v0.9.0-pre1
github.com/prometheus/common         v0.0.0-20180426121432-d811d2e9bf89
go.opencensus.io                     v0.8.0
golang.org/x/net                     v0.0.0-20180502164142-640f4622ab69
golang.org/x/oauth2                  v0.0.0-20180503012634-cdc340f7c179
golang.org/x/text                    v0.3.0
google.golang.org/api                v0.0.0-20180502000444-ce90db2c36a2
google.golang.org/genproto           v0.0.0-20180427144745-86e600f69ee4
google.golang.org/grpc               v1.11.3

vgo build succeeds.

Try to update OpenCensus

$ cat go.mod
module helloworld

require (
        github.com/golang/protobuf v1.1.0
        github.com/googleapis/gax-go v1.0.0
        github.com/prometheus/client_golang v0.9.0-pre1
        github.com/prometheus/common v0.0.0-20180426121432-d811d2e9bf89
        go.opencensus.io v0.9.0
        golang.org/x/net v0.0.0-20180502164142-640f4622ab69
        golang.org/x/oauth2 v0.0.0-20180503012634-cdc340f7c179
        google.golang.org/api v0.0.0-20180502000444-ce90db2c36a2
        google.golang.org/genproto v0.0.0-20180427144745-86e600f69ee4
)
$ vgo list -m
MODULE                                            VERSION
helloworld                                        -
cloud.google.com/go                               v0.21.0
github.com/beorn7/perks                           v0.0.0-20180321164747-3a771d992973
github.com/golang/protobuf                        v1.1.0
github.com/googleapis/gax-go                      v1.0.0
github.com/matttproud/golang_protobuf_extensions  v1.0.0
github.com/openzipkin/zipkin-go                   v0.1.0
github.com/prometheus/client_golang               v0.9.0-pre1
github.com/prometheus/client_model                v0.0.0-20171117100541-99fa1f4be8e5
github.com/prometheus/common                      v0.0.0-20180426121432-d811d2e9bf89
github.com/prometheus/procfs                      v0.0.0-20180408092902-8b1c2da0d56d
go.opencensus.io                                  v0.9.0
golang.org/x/net                                  v0.0.0-20180502164142-640f4622ab69
golang.org/x/oauth2                               v0.0.0-20180503012634-cdc340f7c179
golang.org/x/sync                                 v0.0.0-20180314180146-1d60e4601c6f
golang.org/x/text                                 v0.3.0
google.golang.org/api                             v0.0.0-20180502000444-ce90db2c36a2
google.golang.org/appengine                       v1.0.0
google.golang.org/genproto                        v0.0.0-20180427144745-86e600f69ee4
google.golang.org/grpc                            v1.11.3

vgo build still succeeds.

What did you expect to see?

cloud.google.com/go v0.21.0 and some other dependencies should not be deleted from the go.mod file.

What did you see instead?

Dependencies are removed from go.mod file and not consistent with vgo list -m.

@gopherbot gopherbot added this to the vgo milestone May 4, 2018
@rsc
Copy link
Contributor

rsc commented May 8, 2018

If cloud.google.com/go v0.21.0 is implied by some other line, then it will be taken out.

@rsc
Copy link
Contributor

rsc commented May 8, 2018

This is working as intended. If builds are breaking then that's a problem, but it sounds like there's no breakage.

@rsc rsc closed this as completed May 8, 2018
@golang golang locked and limited conversation to collaborators May 8, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants