Generated via Copilot on behalf of @krukow
Summary
org.slf4j/slf4j-simple is declared in the main :deps of deps.edn, so it ships as a runtime dependency in the published POM. A library should not force a concrete SLF4J binding on its consumers.
Detail
deps.edn main :deps includes org.slf4j/slf4j-simple {:mvn/version "2.0.16"}.
- The generated POM (verified via
clj -T:build jar) lists slf4j-simple as a <dependency>.
- The SDK logs via
clojure.tools.logging (a facade) — correct. But slf4j-simple is a concrete binding.
Why it matters
A published library that ships a binding causes:
- "Multiple SLF4J bindings" warnings/conflicts when the consuming app already has one.
- Silent override of the consumer's logging configuration.
The binding belongs in the application, not a library.
Proposed fix
Move slf4j-simple to a dev/test alias (e.g., :test/:dev) so the SDK's own tests and examples keep a binding, but published consumers do not inherit one. Keep tools.logging in main deps.
Severity
ga-nice-to-have — cheap, clearly correct, changes published artifact behavior so wants maintainer sign-off before GA.
Summary
org.slf4j/slf4j-simpleis declared in the main:depsofdeps.edn, so it ships as a runtime dependency in the published POM. A library should not force a concrete SLF4J binding on its consumers.Detail
deps.ednmain:depsincludesorg.slf4j/slf4j-simple {:mvn/version "2.0.16"}.clj -T:build jar) listsslf4j-simpleas a<dependency>.clojure.tools.logging(a facade) — correct. Butslf4j-simpleis a concrete binding.Why it matters
A published library that ships a binding causes:
The binding belongs in the application, not a library.
Proposed fix
Move
slf4j-simpleto a dev/test alias (e.g.,:test/:dev) so the SDK's own tests and examples keep a binding, but published consumers do not inherit one. Keeptools.loggingin main deps.Severity
ga-nice-to-have— cheap, clearly correct, changes published artifact behavior so wants maintainer sign-off before GA.