-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
docs: provide some common vendoring tips/pitfalls #365
Comments
I can tell you from a Glide perspective, I've been trying to get this to work all day. Etcd wants a version of golang/protobuf from 2016 without a Filename field that gRPC-Go wants, gRPC-Go hasn't released v1.2.2 yet with the new Context methods that the current gRPC-Gateway v1.2.2 is looking for the new Context methods. This is exactly the type of thing Semantic Versioning is supposed to be preventing. I get that you might be trying to match up the version numbers with gRPC-Go, but unfortunately, this introduced a backwards-incompatible change that vendoring tools see as just a simple patch, when in fact, it should have been a major version since it breaks everything unless you manually specify each version number for all the packages. |
Also would like to point out that I'm using gRPC-Go v1.2.1, gRPC-Gateway v1.2.0 and I'm now getting a bunch of errors similar to these: pb/mydis.pb.gw.go:775: too many arguments in call to runtime.AnnotateContext
have ("github.com/deejross/mydis/vendor/golang.org/x/net/context".Context, *runtime.ServeMux, *http.Request)
want ("github.com/deejross/mydis/vendor/golang.org/x/net/context".Context, *http.Request) So I can't get this working at all. |
@tamalsaha I believe that's correct. The plugins are installed per the documentation:
I think that installs from the master. Is there a better method of installing the correct version of the plugins? I have multiple developers, plus a Jenkins build environment that would all need to have the same version of these plugins. To my knowledge, Glide does not install binary files in $GOPATH/bin the way that go get does, but I could be mistaken. |
We use shall scripts to get specific version of gateway and install its plugins. You can find our script here: https://github.com/appscode/api/blob/master/hack/builddeps.sh#L53 Please note, this script installs our forked version with some additional changes. I meant to show this as an example. |
I learned quite a bit from this, it was very helpful. Basically, you install using While not the most straightforward way to install the desired version of plugins, it should work for our needs. Thanks a bunch! Hopefully, Go's |
@deejross do you know if there's an issue on |
@rhnasc I think the major issue here, which most package managers aim to fix, is that |
sharing some information about how folks approach vendoring with different tools and perhaps noting some gotchas would be valuable for users.
The text was updated successfully, but these errors were encountered: