GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

New JLBP - Libraries should not expose unnecessary implementations in dependency tree.

Open
#499 4 comments 0 reactions 1 assignee Claimed by @elharo View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.