Skip to content
This repository has been archived by the owner on Feb 24, 2024. It is now read-only.

(v0.15.0) Drop dep support #1545

Closed
markbates opened this issue Jan 20, 2019 · 12 comments
Closed

(v0.15.0) Drop dep support #1545

markbates opened this issue Jan 20, 2019 · 12 comments
Labels
breaking change This feature / fix introduces breaking changes s: accepted was accepted or confirmed
Milestone

Comments

@markbates
Copy link
Member

markbates commented Jan 20, 2019

I would like the community's input on this issue.

Currently dep doesn’t support semantic import paths, i.e. github.com/gobuffalo/plush/v3 (unless you use a physical sub-folder). So if we want to add modules support to v2+ projects like plush, pop, tags, etc… we would have to drop support dep across the entire product line or use physical sub-folders.

I'm not a fan of the physical sub-folder idea, and prefer the branch based approached to modules, i.e. a branch named /v3, /v4, etc... as laid out at https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher.

Modules, for better or worse, are going to be the path forward for package management. So the question I'm presenting to the community is:

Do we add modules support to /v2+ projects and drop support for dep? Or do we not add module support to those projects until dep can support it?

I am for dropping support for dep across the gobuffalo repos as it is currently the source of a lot of code branches and it is not going to be the preferred package management system going forward.

This would be a major breaking change.

Dep support will eventually be dropped. It’s a matter of when. My current time frame to drop this support would be v0.15, so anywhere from 3-4 months from now.

@markbates markbates added breaking change This feature / fix introduces breaking changes proposal A suggestion for a change, feature, enhancement, etc modules labels Jan 20, 2019
@pbnj
Copy link

pbnj commented Jan 20, 2019

If it’s a matter of when Dep will be dropped, then what’s the value of holding out until Dep supports Semantic Import Versioning?

@markbates
Copy link
Member Author

markbates commented Jan 20, 2019 via email

@dnnrly
Copy link
Contributor

dnnrly commented Jan 20, 2019

I don't suppose you know how many people are using dep? Might help inform the decision, just not sure where you'd get the figures from. A related question would be how many users are on Go 1.11 or later.

For my part though, I haven't used dep since modules was released and can't imagine going back.

@markbates
Copy link
Member Author

markbates commented Jan 20, 2019 via email

@markbates
Copy link
Member Author

markbates commented Jan 20, 2019 via email

@theckman
Copy link

Not sure if this helps but I was just given push permissions to the dep repo, and will try to work on getting golang/dep#1963 (minimal module awareness) in ASAP.

I think you know my opinion on modules, so I'll refrain from raising them again. 😄

@markbates
Copy link
Member Author

@theckman thanks, please keep us updated.

@pbnj
Copy link

pbnj commented Jan 23, 2019

@markbates - what's the feasibility of supporting Go Modules by default and keeping the flag option --with-dep for users who want to continue using Dep moving forward?

@markbates
Copy link
Member Author

markbates commented Jan 23, 2019 via email

@jeremychase
Copy link

@markbates Dropping dep support for Buffalo needs to happen at some point but the module system is still immature in the general Go ecosystem. As a case in point my project relies on go-swagger to parse Buffalo source for automated api documentation. Unfortunately, go-swagger still has some difficulty parsing Go code that uses modules.

I have a feeling that this is just one of many issues people will encounter in the transition from dep to modules.

@markbates
Copy link
Member Author

@jeremychase there are a lot of those problems that need to be addressed. Again, the time frame for this is, probably, at least 6 months away. I'm just trying to get it out there, figure out where those pains are, etc...

This is all super awesome feedback.

@abergmeier
Copy link

I think you should look at how many problems are still standing once 1.12 comes out. Am all for adopting https://godoc.org/golang.org/x/tools/go/packages and making Module support happening ASAP.

@stanislas-m stanislas-m added this to the Proposal milestone Jul 5, 2019
@markbates markbates removed this from the Proposal milestone Aug 8, 2019
@markbates markbates pinned this issue Aug 8, 2019
@markbates markbates changed the title Proposal: Drop dep support in favor of modules. Drop dep support in favor of modules. Aug 8, 2019
@markbates markbates removed proposal A suggestion for a change, feature, enhancement, etc status-vote labels Aug 8, 2019
@markbates markbates added this to the v0.15.0 milestone Aug 8, 2019
@markbates markbates changed the title Drop dep support in favor of modules. (v0.15.0) Drop dep support in favor of modules. Aug 8, 2019
@markbates markbates changed the title (v0.15.0) Drop dep support in favor of modules. (v0.15.0) Drop dep support Aug 8, 2019
markbates added a commit that referenced this issue Aug 9, 2019
@markbates markbates added the s: accepted was accepted or confirmed label Aug 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
breaking change This feature / fix introduces breaking changes s: accepted was accepted or confirmed
Projects
None yet
Development

No branches or pull requests

7 participants