Skip to content

advent-2015: add vendor-folder #161

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

Merged
merged 2 commits into from
Dec 28, 2015
Merged

advent-2015: add vendor-folder #161

merged 2 commits into from
Dec 28, 2015

Conversation

kardianos
Copy link
Contributor

No description provided.

Any package in the `vendor` folder will be found *before* the standard library.

To enable this in Go 1.5 set the environment variable `GO15VENDOREXPERIMENT=1`.
In Go 1.6 this will be on by default without an environment variable.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the draft Go 1.6 release notes:

Go 1.6 keeps the vendoring support, no longer considered experimental, and enables it by default. It can be disabled explicitly by setting the GO15VENDOREXPERIMENT environment variable to 0. Go 1.7 will remove support for the environment variable.

It might be more clear to say that in 1.6 it's on by default without a need to set an environment variable. The environment variable won't be gone until 1.7.

@mattfarina
Copy link
Contributor

@kardianos thanks for the writeup.

@kardianos
Copy link
Contributor Author

Hi @mattfarina
Any thoughts on the standard lock file proposal? Between then and now I see you added new yaml lock file to glide.

@mattfarina
Copy link
Contributor

@kardianos I have some thoughts and I'll get them down over there when I have a moment.

For this, I'm attempting to cover for Brian to keep getting these blog posts out and I'd prefer not to mix concerns between this and that. Especially since I, for one, am quite opinionated on lock files. So, any follow-up on have on it i'll post over there.

@kardianos
Copy link
Contributor Author

@mattfarina
Didn't realize you were helping out Brian.

RE comment 1 (timeline): I do know the timeline. In this case I preferred to state it more simply. Yes, it is still experimental, but that is more to allow people to turn it off. At this point it is probably going to fly. I didn't want to confuse the issue.

RE comment 2 (vendor tree): This is a simple listing of the vendor tree. Yes, I use govendor which places the vendor.json file in the vendor directory at rsc's request, per the vendor spec. Yes, the vendor-spec isn't official. However, it is part of a specific example given; I don't think it will confuse people.

Feel free not to post it; it is still a ways out. Someone could fill in for the 28ths.

@mattfarina
Copy link
Contributor

@kardianos I was simply suggesting that telling people about the vendor.json file was a point to touch more on govendor than you had in the post. It being there with no discussion can leave people wondering. If you don't want to do that it's fine.

@kardianos
Copy link
Contributor Author

@mattfarina I've been short on time. but I figured I would get an OK version up first, then reread later and maybe update the PR sometime between now and then. So I might do just that, but kinda depends on time. Thanks.

mattfarina added a commit that referenced this pull request Dec 28, 2015
advent-2015: add vendor-folder
@mattfarina mattfarina merged commit 2ffc3d6 into gopheracademy:master Dec 28, 2015
@mattfarina
Copy link
Contributor

Thanks for the post. It's now up at https://blog.gopheracademy.com/advent-2015/vendor-folder/

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