Skip to content
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 vendor support #40

Closed
tkurylek opened this issue May 6, 2016 · 7 comments
Closed

Go vendor support #40

tkurylek opened this issue May 6, 2016 · 7 comments

Comments

@tkurylek
Copy link

tkurylek commented May 6, 2016

Hi there. We are using govendor as package management tool. We are wondering if you have any plans to support it? Currently we need to remove vendor/vendor.json file so the compilation step succeeds. Otherwise we get:

ERR  !     
ERR  !     Error: Cloud Foundry does not support the govendor package manager
ERR  !     We currently only support the 'Godep' package manager for go apps
ERR  !     For support please file an issue: https://github.com/cloudfoundry/go-buildpack/issues
ERR  !   

The message is very explicit. Could you tell us why the buildpack checks for vendor.json file? Would it be possible to omit this check and go with the native go vendoring instead?

I can see that buildpack from Heroku already has it covered:
https://github.com/heroku/heroku-buildpack-go/blob/master/bin/compile

@cf-gitbot
Copy link

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/119061791

The labels on this github issue will be updated when the story is started.

@davidjahn
Copy link
Contributor

davidjahn commented May 6, 2016

@tkurylek We have no plans at the moment to support govendor, but we do support native go package management in the vendor/ directory.

To clarify, does your app push successfully when you remove vendor/vendor.json or add it to .cfignore and follow the instructions for pushing apps with native go vendoring?

If it does then, yes, it is a bug in the buildpack and we will try to push a fix to the buildpack within a week.

As an aside, we chose to only support Godep explicitly as a package manager because, now that Go has a standard vendoring system defined for the vendor/ directory, it should in principle be possible to push any app using that system rather than the particularities of any given package manager.

@Dannyzen
Copy link
Contributor

Dannyzen commented May 6, 2016

Thanks @davidjahn! @tkurylek I'm curious as to why your team has decided to use govendor. If you could share with us the value you find in it that would be very helpful!

@tkurylek
Copy link
Author

tkurylek commented May 9, 2016

Hi @davidjahn
Thanks for the response. Yes, our app push works after removing vendor/vendor.json which makes the check for this file in /bin/compile pointless. Do you need me to create a separate issue for that?

Hi @Dannyzen
We've got tired of godep. We really liked the wrapper commands, easiness of package version upgrade and also govendor list command that gives us more control of what is in /vendor directory and what is not.

@davidjahn
Copy link
Contributor

@tkurylek No need to create a separate issue on github. I have created an issue in the buildpack team's tracking system:

https://www.pivotaltracker.com/story/show/119184383

We will prioritize this issue soon and let you know as soon as we push a fix!

@davidjahn
Copy link
Contributor

@tkurylek Our new release has removed the error for govendor, and you should be able to push govendor apps without deleting vendor/vendor.json ! You can test out the new go-buildpack with

cf push my_app -b https://github.com/cloudfoundry/go-buildpack

I am going to close this issue because I believe it is fixed, but could you let us know if we have solved your problem? Thank you for bringing the issue to our attention!

@tkurylek
Copy link
Author

@davidjahn Sorry for the late response. We've upgraded the buildpack and everything works perfectly. Thank you.

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

No branches or pull requests

4 participants