-
Notifications
You must be signed in to change notification settings - Fork 172
Go modules #123
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
Go modules #123
Conversation
Ping @nickatsegment. I'll fix the merge conflicts if you all are interested in switching to go modules. Now that it's the official packaging tool, I figure we'll want to switch over eventually. |
Yep, I'm not against the idea. If you can fix up those conflicts, that'd be great. I'd like to see an automated build work :) That said, it might be too early to get rid of vendor.json entirely. I'm not sure how that affects libs that depend on chamber? |
Conflicts resolved! You can test by install go 1.11 and running About |
Cool! I'll take a look at it today. You're probably right that nobody's importing it, but Segment does internally for sure (in a private repo). :) Also, I think we'll want to support people using |
It occurs to me that as long as the vendored packages in But we also do I took your fork and added two things:
https://github.com/segmentio/chamber/tree/go-modules |
I'm not a huge fan of Go modules. Unless there's a very compelling reason, I don't think we should make the switch until support is official in Go 1.12. At the very least, we should keep Just my $0.02... |
Yep, I think keeping both at least until Go 1.12 is the way to go. We'll have to maintain both, but that shouldn't be too bad. I'm skeptical of Go modules as well, but I think trying them out in a real project is a worthwhile experiment. |
@nickatsegment: the approach you took in https://github.com/segmentio/chamber/tree/go-modules makes sense to me. I don't have a strong opinion about go modules, but now that they've landed in core, I'm guessing third-party package managers and metadata formats will gradually fall out of favor and lose support. |
Superseded by #144 |
Now that go 1.11 is out with support for go modules, we don't need a third-party dependency management tool. This patch switches to go modules for dependencies, and also drops a few unused dependencies. I didn't run tests with your docker image, but the golang version will have to be upgraded there for tests to run with docker.