-
Notifications
You must be signed in to change notification settings - Fork 1k
support nested vendor/ dirs #985
Comments
hi! thanks for the issue. yes, flattening dep is not primarily designed for use in monorepos right now. it is possible, but only for monorepo layouts with specific properties. i have a nascent plan about how we might make it useful for arbitrary monorepos, but i need a) time and b) folks with monorepos willing to collaborate with me on figuring it out 😉 in the meantime, though, i'm marking this for docs, as we should at least have an FAQ entry that details how dep can be used within a monorepo today. |
@sdboyer perfect! My contrived example comes from the fact that we can't use I'll try to loop back with info about why |
@aybabtme that'd be great! i have a few orgs i've talked to about their monorepos, but i still don't have anything written about where the real pain points are. |
@sdboyer cool is there a specific doc/ticket where we should provide this info? Our biggest hurdle so far has been speed: we have thousands of vendored dependencies and similarly many internal packages, this seems to cause problems to Another thing is that our code layout is:
|
cc @fatih |
this ticket's a fine place to give that feedback. you can also email me, if you'd rather keep it private.
yeah, we've been deferring on performance for a while, but we have a lot of headroom, and are making headway on the major things that will help - #121, #431. a month or two, maybe? |
i'm gonna close this out, just to try to keep the issue queue tidy. when y'all have a chance to get to that feedback, please feel free to reopen 😄 |
@sdboyer I have some more specific feedback for you about this. If you'll re-open this issue, I can put it here. Otherwise, please let me know if you'd rather I just open a new issue. |
@bhcleek new issue is best, i think. |
It is not really recommended to have nested vendor directories. dep does not work well with nested directories: golang/dep#985 Recommendation is to use flatten the vendor directories. Hence remove any nested vendor directories. Fixes kata-containers#1909 Signed-off-by: Archana Shinde <[email protected]>
This repository contains multiple Gopkg.* files which defines dependencies for each stand-alone application within this repository. This was posing an issue where there was no predictable way of confirming that vendor folder is in sync with the versions defined in Gopkg files. dep tool does not handle multiple sub folder definitions and is not a feature that is in their pipeline. This effort is to unify all the dependencies to allow `dep check` on the repository. Check golang/dep#985 for dep issues with nesting. Fixes: kata-containers#1794 Fixes: kata-containers#1733 Signed-off-by: Ganesh Maharaj Mahalingam <[email protected]>
This repository contains multiple Gopkg.* files which defines dependencies for each stand-alone application within this repository. This was posing an issue where there was no predictable way of confirming that vendor folder is in sync with the versions defined in Gopkg files. dep tool does not handle multiple sub folder definitions and is not a feature that is in their pipeline. This effort is to unify all the dependencies to allow `dep check` on the repository. Check golang/dep#985 for dep issues with nesting. Fixes: kata-containers#1794 Fixes: kata-containers#1733 Signed-off-by: Ganesh Maharaj Mahalingam <[email protected]>
This repository contains multiple Gopkg.* files which defines dependencies for each stand-alone application within this repository. This was posing an issue where there was no predictable way of confirming that vendor folder is in sync with the versions defined in Gopkg files. dep tool does not handle multiple sub folder definitions and is not a feature that is in their pipeline. This effort is to unify all the dependencies to allow `dep check` on the repository. Check golang/dep#985 for dep issues with nesting. Fixes: kata-containers#1794 Fixes: kata-containers#1733 Signed-off-by: Ganesh Maharaj Mahalingam <[email protected]>
This repository contains multiple Gopkg.* files which defines dependencies for each stand-alone application within this repository. This was posing an issue where there was no predictable way of confirming that vendor folder is in sync with the versions defined in Gopkg files. dep tool does not handle multiple sub folder definitions and is not a feature that is in their pipeline. This effort is to unify all the dependencies to allow `dep check` on the repository. Check golang/dep#985 for dep issues with nesting. Fixes: kata-containers#1794 Fixes: kata-containers#1733 Signed-off-by: Ganesh Maharaj Mahalingam <[email protected]>
This repository contains multiple Gopkg.* files which defines dependencies for each stand-alone application within this repository. This was posing an issue where there was no predictable way of confirming that vendor folder is in sync with the versions defined in Gopkg files. dep tool does not handle multiple sub folder definitions and is not a feature that is in their pipeline. This effort is to unify all the dependencies to allow `dep check` on the repository. Check golang/dep#985 for dep issues with nesting. Fixes: kata-containers#1794 Fixes: kata-containers#1733 Signed-off-by: Ganesh Maharaj Mahalingam <[email protected]>
The Go tool supports recursively looking up dependencies that may be vendored in
./vendor
directories and their parents. It seems thatdep
doesn't support vendoring dependencies in nested dirs. Example:In this example,
monorepo/vendor
contains global, generally needed dependencies that may have been vendored using another tool, whilemonorepo/large_project/with_many/specific_needs/vendor
contains dependencies needed only by that project, which we want to usedep
to manage.This seems to currently not be possible.
dep
appears to be ignoring the dependencies vendored inmonorepo/vendor
and try to pull them again inmonorepo/large_project/with_many/specific_needs/vendor
.The text was updated successfully, but these errors were encountered: