Skip to content
This repository has been archived by the owner on Mar 9, 2021. It is now read-only.

Don't vendor dependencies for plugins ? #32

Open
rhuss opened this issue May 20, 2020 · 3 comments
Open

Don't vendor dependencies for plugins ? #32

rhuss opened this issue May 20, 2020 · 3 comments

Comments

@rhuss
Copy link
Contributor

rhuss commented May 20, 2020

We have different dependency declaration for different plugins which is a good thing to keep them self-contained and independent (allowing also for an independent release cycle).

However, verndoring the dependencies is really huge, especially for source where each source support for sources from eventing-contrib would have to vendor eventing-contrib individually although it only needs the client bindings for a single source out of it. (I wonder whether we could craft go mod that way to only pick that client dependency ?)

One suggestion for this particular dependency would be to get the client API with different means (e.g. git clone directly, by cherry-picking the client interface)

However, I would discuss in general whether for an aggregated repository vendoring makes sense at all or whether we should use go mod without a vendor/ dir and using the local go mod cache for downloading dependencies ?

@rhuss
Copy link
Contributor Author

rhuss commented May 28, 2020

@maximilien @daisy-ycguo @zhangtbj @zhanggbj What are your opinion in this ? I think this will help considerably in avoiding duplicated dependencies and download times as the shared cache below $GOROOT would be used.

@zhangtbj
Copy link
Contributor

Yes, I think if we keep the vendor in each plugin and if we have more and more plugins, the size of the repo will very large and even hard to pull the repo.

I also agree to remove the vendor in each plugin.

@zhanggbj
Copy link

@rhuss
We do have some difficulties to pull vendor packages considering our network situation... but I support to use go mod without /vendor which it is going really huge both for the repo and each plugin, so 👍 for my side.

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

No branches or pull requests

3 participants