knative / client-contrib

Community contributed `kn` plugins.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Are the multiple `go.mod` files necessary?

dprotaso opened this issue · comments

Noticed this during #36

I don't know what the trade offs are so I'm asking.

We decided to make every plugin being self contained without a parent dependency. This has many benefits (different maintainers, different versions of dependencies) and we think that reflects the general nature of plugins. The alternative would be to have separate repositories.

The chosen approach has also drawbacks, i.e duplication. There we are planning to go away from vendoring to avoid explosion of duplicated dependencies (which is even worse that every source plugin for a source from eventing-contrib has to import the whole eventing-contrib repo)

That's the reason why every plugin has its own go.mod

sounds good thanks