Skip to content

Add minimal version of golang/protobuf in dep config for Go#25

Closed
qneyrat wants to merge 2 commits intoprometheus:masterfrom
qneyrat:go-vendor
Closed

Add minimal version of golang/protobuf in dep config for Go#25
qneyrat wants to merge 2 commits intoprometheus:masterfrom
qneyrat:go-vendor

Conversation

@qneyrat
Copy link
Copy Markdown

@qneyrat qneyrat commented Aug 28, 2018

Fix version of golang/protobuf because can use older version.

Example: proto.InternalMessageInfo isn't declare in golang/protobuf 1.0.0

@beorn7
Copy link
Copy Markdown
Member

beorn7 commented Aug 29, 2018

Thanks for the PR.

The problem here is that we already had many back-and-forth iterations adding and removing vendoring in libraries. Last time we discussed this, my impression was that the Go community strongly discourages vendoring in libraries. I would like to see firm evidence that this has changed before adding vendored dependencies once more. Do you know of anything like that?

Signed-off-by: qneyrat <[email protected]>
@qneyrat
Copy link
Copy Markdown
Author

qneyrat commented Aug 29, 2018

Dep vendor dir of lib is never import in final app.
I remove vendor dir but constraint is very important

@qneyrat qneyrat force-pushed the go-vendor branch 2 times, most recently from 73172e0 to 0dc082c Compare August 29, 2018 16:13
@qneyrat
Copy link
Copy Markdown
Author

qneyrat commented Aug 29, 2018

maybe it's important to fix dependencies versions in prometheus/client_golang

@beorn7
Copy link
Copy Markdown
Member

beorn7 commented Aug 29, 2018

maybe it's important to fix dependencies versions in prometheus/client_golang

I'm not sure what you mean by that. client_golang is a library, too, so we don't vendor there, either. (We in fact did, and then removed it again after much discussion.)

About the Gopkg.toml file: IIRC, that's specific to the dep tool. AFAIK, that's not (yet) the tool the Go community has converged on (and if I read recent news, it never will be because Go 1.11 has that modules thing). I might be totally mistaken. Happy to gain better insight. But right now, I don't see how dropping a spec file from one specific dependency management tool in this repo will help more than it will cause confusion.

I would also like to understand the problem better. If I just do a go get with a plain state of my repo, everything should work, shouldn't it? Only if somebody for some reason has kept an older version of golang/protobuf around, they will run into issues. But that's potentially true for every single dependency. As long as Go dependency management isn't solved in a commonly adopted form, what can we do?

@beorn7
Copy link
Copy Markdown
Member

beorn7 commented Sep 5, 2018

I interpret the silence as "there is indeed nothing we can do right now until there is a commonly adopted solution to dependency management in Go". I'll close this now, but feel free to follow up later.

@beorn7 beorn7 closed this Sep 5, 2018
@SamWhited SamWhited mentioned this pull request Jan 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants