ppkarwasz commented on PR #2155: URL: https://github.com/apache/zookeeper/pull/2155#issuecomment-2047451913
> maybe we can mark this dependency as runtime optional instead of test? Personally I am not a big fan of `optional` or `provided` dependencies: their role is documentation only. The meaning is pretty much up to each developer to interpret. I interpret `provided` as "we don't bundle Logback, but you **need** it for Zookeeper to run". Regarding `optional` I interpret it as "some Zookeeper features only work with Logback" (a Logback appender maybe?). I think the message that should be sent to users is "Zookeeper prefers/recommends Logback, but it will work with whatever SLF4J implementation your provide him". Inside the Zookeeper project their usefulness is also somehow limited: the Maven Compiler and Surefire plugins will use them, but the Maven Assembly plugin will not package them in the `tar.gz` archive. So the only difference between runtime `optional` and `test` is that Logback is available at compilation time. This **is not** an advantage: if Zookeeper fails to compile without Logback, it means that it references some Logback-specific classes. **Remark**: The way Logback is treated in this PR is similar to the Jetty dependency. Jetty is included in the `tar.gz`, but there are no runtime dependencies on it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@zookeeper.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org