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

Provide a check_deps_maxcount enforcement and attribute #149

Open
plaird opened this issue Jun 17, 2022 · 0 comments
Open

Provide a check_deps_maxcount enforcement and attribute #149

plaird opened this issue Jun 17, 2022 · 0 comments

Comments

@plaird
Copy link
Contributor

plaird commented Jun 17, 2022

We have found internally that the springboot rule is a good enforcement chokepoint for catching errors in the dependency graph. the dupe class checker gets a lot of mileage and has caught a number of mistakes for us.

Another check we would like to have is fail if the count of deps exceeds a certain threshold (configurable in the workspace as per #78). The reason is we have seen cases where the service owner did not realize they were bringing in a massive graph of dependencies.

A specific case was when a service owner added a dependency on a certain SDK (a single dependency) not realizing that the SDK transitively brought in over 125 other SDK dependencies to support many APIs not needed by the service. They could have instead just brought in single, focused, SDK dependency instead.

We will need to pick a default value, which is overridable by attribute. We will decide on that value empirically using our internal collection of services, which provide a good sample.

springboot(
    ...
    check_deps_maxcount = 150,
)
@plaird plaird changed the title Provide a max_deps_count enforcement and attribute Provide a check_maxdepscount enforcement and attribute Jun 17, 2022
@plaird plaird changed the title Provide a check_maxdepscount enforcement and attribute Provide a check_deps_maxcount enforcement and attribute Jun 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant