build(deps): patch consumer-neutral dependencies#816
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates Gradle dependency alignment to address vulnerability-related Dependabot alerts by pinning specific patch-level runtimes for transitive dependency graphs (example module Azure Identity/Netty; test-only WireMock Jetty/Jackson).
Changes:
- Add a Netty BOM alignment in
openai-java-exampleto keep Azure Identity’s Netty runtime on4.1.136.Final. - Move WireMock test runtime alignments into the shared
openai.wiremock-testconvention plugin (Jetty12.0.36, Jackson BOM2.21.5). - Remove duplicated Jackson BOM declarations from individual test modules.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| openai-java-example/build.gradle.kts | Adds Netty BOM alignment for the example module’s Azure Identity dependency graph. |
| openai-java-core/build.gradle.kts | Removes module-local Jackson BOM in favor of centralized WireMock test alignment. |
| openai-java-client-okhttp/build.gradle.kts | Removes module-local Jackson BOM in favor of centralized WireMock test alignment. |
| buildSrc/src/main/kotlin/openai.wiremock-test.gradle.kts | Centralizes WireMock test-only Jetty and Jackson BOM alignments. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ae6c92b to
da2a00e
Compare
HAYDEN-OAI
left a comment
There was a problem hiding this comment.
Reviewed the complete current three-file diff at da2a00ecd0951a7ef4cd324cb1a268282dccbb42, including the previous resolved/outdated Jackson discussion, the live Dependabot advisories, dependency resolution, CI/security workflows, and consumer publication boundaries.
Independently verified:
- The unpublished example resolves both Azure/Reactive Netty HTTP and DNS dependencies to the fixed
4.1.136.Finalwithout adding Netty to a published SDK artifact. - The shared WireMock test convention resolves Jetty and EE10 to
12.0.36across its consumers; these alignments remain test-only. - Bedrock's WireMock test classpath resolves Jackson to
2.21.5, while Bedrock's real consumer runtime and the Core/OkHttp compatibility-test classpaths remain on the intended2.18.9published baseline. - Generated and inspected both Maven POMs and Gradle module metadata for Core, OkHttp, and Bedrock: no Jetty, Netty, WireMock, Azure Identity, or
2.21.5constraint leaks into either API or runtime publication variants. - Successfully ran the example classes, Bedrock/OkHttp/Core tests, the Core
testJacksonCompatibilitysuite, all targeted dependency-insight tasks, and publication metadata generation on the reviewed commit. Local tests usedSKIP_MOCK_TESTS=truefor external mock-server cases; the complete upstream test, lint, build/Jackson compatibility, API compatibility, and required CI jobs all passed on the same SHA.
The prior Copilot finding applied to ae6c92bd, and the current module-local Bedrock alignment correctly resolves it without weakening Core or OkHttp compatibility coverage. No correctness, security, consumer-impact, or structural-maintainability findings. Approving.
Summary
4.1.136.Final12.0.362.21.5Why
Azure Identity and WireMock transitively request older patch releases covered by 21 Dependabot alerts. The direct dependencies do not yet select the fixed versions, so this adds narrow BOM alignments at the modules that own those dependency graphs.
Core and OkHttp deliberately continue testing against the SDK's published Jackson
2.18.9baseline. The Jackson2.21.5alignment is scoped to Bedrock, which has no compatibility override and was otherwise resolving WireMock's2.20.1BOM.Impact
There is no published SDK API or consumer migration impact. The Netty alignment applies only to the unpublished example module, while the Jetty and Jackson alignments apply only to test configurations.
Validation
4.1.136.Final12.0.362.21.52.18.9compatibility runtimes:openai-java-bedrock:test:openai-java-example:classes./scripts/lintgit diff --check