-
Notifications
You must be signed in to change notification settings - Fork 800
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Separating tools dependencies from main dependencies (#4895)
Adding gowrap in #4879 pulled in an additional *30MB* of dependencies, which is pretty ridiculous. It's happening because, while gowrap uses a tools-tagged `tools.go`, it's in the same module as everything else, so its dependencies are pulled in too, because Go has no way to tell that it's not needed by callers (it needs to consider ALL tags). We're doing the same thing. Granted, we're an application and not a library, but it still seems kinda unnecessary. And it forces upgrades we may not want to force (yet). So this moves tools.go to a new package, sets up a new go.mod file just for it, and adds a bit of automation to prevent it from drifting too far from the main module. With this, `go mod tidy` in the top level does not consider tools-dependencies any more, so we actually *remove* some, and do not add tons more for gowrap/etc in the future. --- internal/tools is just because it needs to be in a separate package, and "tools" was taken. plus nobody should ever import it, so it should be a clear "dependency dead-end" for tools.
- Loading branch information
Showing
8 changed files
with
1,157 additions
and
308 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.