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
Update to support latest godep #22807
Conversation
@eparis I have no idea how to effectively review a monster PR like this, but let me know when you're ready for review, and I'll try to make a plan. |
give it to @thockin that's a good way to do it :) It is ready. It's really not that hard to review. I'll update the first comment with more info. |
@@ -1,7 +1,9 @@ | |||
{ | |||
"ImportPath": "k8s.io/kubernetes", | |||
"GoVersion": "go1.5", | |||
"GoVersion": "go1.6", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
busted! now you know what version of go I'm using. It's pointless/harmless/not used by anything at all. I could put it back to 1.5, but it really doesn't mean anything at all.
p.s. I added 'do-not-merge' just to be a bit nice/slushy with 1.2 going on. This isn't a huge rush, but getting godep working on head will save some people time, just ask @derekwaynecarr |
Not that you have any reason to believe me necessarily but building with this PR gives me
And building at cdd3395 (right before this PR) give me:
|
@@ -1,6 +0,0 @@ | |||
assignees: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@eparis Is the removal of this intentional?
@eparis Any PR that removes this many files must be good, by definition :-) LGTM, barring the one minor nit. Feel free to remove the "do-not-merge" label when it makes sense. |
@ixdy this is messing with godeps! |
@quinton-hoole good catch on OWNERS. Fixed. |
Fix for godep-licenses check in #22834, though Travis will still be sad. |
I don't understand why travis is sad.... |
@@ -196,17 +196,6 @@ export GOPATH=$HOME/go-tools | |||
export PATH=$PATH:$GOPATH/bin | |||
``` | |||
|
|||
Note: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm adding a change to require >= v63, so you can drop this hunk
Since its hard for an individual to remember that we need codecgen and ginkgo in godeps but don't actually have that dependancy listed in a way that godep can automatically find.
/me grumbles @saad-ali that I did this PR over 2 months ago and have been in rebase hell ever since. You managed to do 99.9% of it and get it merged all in one night. So really that's awesome I guess. Thanks saad. |
It was all @thockin I just banged on the keyboard on his behalf |
That was totally going to pad my LoC removed stats! |
LGTM |
GCE e2e build/test passed for commit 0114eef. |
Automatic merge from submit-queue |
Is it really desirable to vendor binary dependencies using godep? Why not just vendor the source (outside of godeps) and compile them on-demand as part of the build process? |
In both cases some of the code from the project is USED in the repo. So we'd have duplication of at least some of the binary's code... |
Is there any reason NOT to vendor it? If every build needs it, why have a
|
Vendoring binaries in Git can ballon the size of the git repo, slowing down the speed of checkout. Every new version completely replaces the old, since no diff can be made. |
godep only vendors source (not binaries), but can vendor additional packages when specified as part of the package spec. Those additional packages are usually other mains. Those additional mains can then be installed like so: |
godep v53 and earlier included all subdirs of includes in ./...
godep v54 and later only includes the exact packages required.
So all of the 'extra' packages which were subdirs but were dead code are removed.
That bit us because both codecgen and ginkgo are binaries which we got by chance in Godeps. When godep started tracking exactly what was needed instead of just grabbing entire subdirs we lost those binaries. To solve that problem godeps now have to be built with
godep save ginko codecgen ./...
so that that it explicitly pulls in those two packages. Because no one will ever remember that, I created a script in hack which lists those deps explicitly.The better import tacking also means that it lists every single package included (transitively) in Godeps.json. Which I believe makes the godep license concatenator from @karlkfi explode in size.
But from an actual 'code that was built' PoV, and easy way to test is to see if a build with and without this PR have any difference. They should be identical.
This change is