serhiy-bzhezytskyy opened a new pull request, #4614: URL: https://github.com/apache/solr/pull/4614
**Draft — NOT for merge. Part 3 of 3, for discussion only.** Builds on #4613 → #4612. This shows the ~76 **external-library** `implementation -> api` promotions DAGP suggests (slf4j, guava, junit, jakarta.*, jackson, log4j, opentelemetry, …), so the full picture is visible as code rather than a list. **I do not recommend merging this as-is.** Per @dsmiley's point on the dev@ thread: liberal `api` is viral/transitive — it leaks each of these onto every downstream consumer's compile classpath, often for trivial exposure. The right call is human judgement on which (if any) are genuinely part of Solr's public contract. **Concrete evidence this advice is harmful, not just stylistically undesirable:** DAGP also advised promoting `jersey-core-server` to `api`, but doing so *fails to resolve* — its version comes from the jersey BOM (declared `implementation`), so as `api` it has no version. I excluded it here to make the branch build. That's a real example of api-promotion breaking the build. **Proposed use:** rather than accept/reject the whole set, pick any deps that are genuinely public API and I'll fold just those into #4613. Everything else stays `implementation`. Layering: #4612 (safe advice, ready) → #4613 (inter-module project() api, draft) → this (external api, illustrative). AI-assisted, human-reviewed per AGENTS.md. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
