GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java
New JLBP - Libraries should not expose unnecessary implementations in dependency tree.
Open
best practices
p3
- Dominant language
- Java
- Stars
- 163
- Forks
- 80
- PR merge metrics
- No merged PRs in 30d
Description
Libraries should use API interfaces as much as possible. In terms of logging, depend on Logging API interfaces (e.g., slf4j). However, in order for slf4j to print out the log somewhere, it requires a binding (e.g., slf4j-log4j). The binding (implementation) should not be exposed to library consumer via transitive dependency. Bindings/implementations such as this should be set as `optional` so that it doesn't expose to the user depending on this library.
Contributor guide
Assessment
This issue has not been assessed yet.