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

Drop support for godep, glide, dep, and buildpack detection by vendor folder #374

Open
jameshochadel opened this issue May 16, 2023 · 3 comments

Comments

@jameshochadel
Copy link

Go modules, Go's official solution to dependency management, have been on by default since Go 1.16. Per the docs and the output I see when running cf push, the buildpack still contains several dependency management solutions that predate modules:

  • Godep, archived on Github since 2019
  • Glide, not updated since 2019
  • dep, deprecated and archived since 2020

Additionally, the buildpack checks for a vendor folder, but go modules does not vendor dependencies by default; instead, it downloads dependencies go $GOPATH/pkg/mod. Vendoring is still possible, but in practice, I see few projects do it.

I propose removing the old dependency management solutions in favor of Go modules, and propose detecting the Go buildpack by checking for the presence of a go.mod file.

@jameshochadel jameshochadel changed the title Drop support for godep, glide, dep, vendoring Drop support for godep, glide, dep, and buildpack detection by vendor folder May 16, 2023
@jameshochadel
Copy link
Author

👋 Just curious — Would the maintainers accept a PR to add this feature?

@robdimsdale
Copy link
Member

I think this is reasonable, and I'd love to drop dead code paths. It would also reduce the surface area we have to test, which would be a benefit to the maintainers, too.

But, I know that CF buildpacks are used by a huge variety of consumers with varying degrees of progression, and I worry that if we drop support for an old vendoring model somewhere down the line this will break our consumers.

@jameshochadel
Copy link
Author

Fair enough. Do you know if CF collects any telemetry we could use to help decide whether or not to drop the old methods?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants