Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove inappropriate dependence between packages #8294

Open
zjs opened this issue Sep 24, 2018 · 0 comments
Open

Remove inappropriate dependence between packages #8294

zjs opened this issue Sep 24, 2018 · 0 comments
Labels
component/infrastructure Infrastructure related to building and testing Epic Represents a ZenHub Epic kind/debt Problems that increase the cost of other work severity/2-serious High usability or functional impact. Often has no workaround.

Comments

@zjs
Copy link
Member

zjs commented Sep 24, 2018

Summary

Several packages within the repository depend on other packages within the repository in unexpected and surprising ways. Correct this to make it easier to reason about the relationship between packages, avoid the potential for cyclic dependencies, and make it easier to consume VIC packages as dependencies in other projects.

Details

Generally, our dependencies should have a layered relationship: external code in vendor forming the base, re-usable code in pkg building on that base, product-specific code in lib in turn building on that, with executables in cmd forming the top of the "pyramid".

We don't currently conform to even that basic expectation, with packages in pkg occasionally depending on code in lib and packages in lib occasionally depending on code in cmd. These relationships make code difficult refactor and maintain, in addition to other specific issues mentioned above.

See Also

@zjs zjs added component/infrastructure Infrastructure related to building and testing kind/debt Problems that increase the cost of other work severity/2-serious High usability or functional impact. Often has no workaround. Epic Represents a ZenHub Epic labels Sep 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/infrastructure Infrastructure related to building and testing Epic Represents a ZenHub Epic kind/debt Problems that increase the cost of other work severity/2-serious High usability or functional impact. Often has no workaround.
Projects
None yet
Development

No branches or pull requests

1 participant