Conversation
📝 WalkthroughWalkthroughThis PR updates Jackson Core dependency resolution across the monorepo by adding a managed dependency entry for Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
9146118 to
58a6b93
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
common-lib/project.clj (1)
8-9: Align Jackson module minors (jackson-corevsjackson-dataformat-cbor).Lines 21-22 show misaligned Jackson versions:
jackson-coreat2.18.6butjackson-dataformat-cborat2.13.2. For consistency and reduced linkage risk, alignjackson-dataformat-cborto2.18.6:Proposed alignment
- [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.13.2" + [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.18.6" :exclusions [com.fasterxml.jackson.core/jackson-databind]]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@common-lib/project.clj` around lines 8 - 9, The Jackson modules are using mismatched minor versions: update the dependency entry for jackson-dataformat-cbor to match jackson-core's version (2.18.6) so both modules use the same minor/patch line; locate the dependency declaration that references com.fasterxml.jackson.dataformat/jackson-dataformat-cbor (and any exclusions referencing com.fasterxml.jackson.core/jackson-core) in project.clj and change the version token for jackson-dataformat-cbor to 2.18.6 to align with jackson-core.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@project.clj`:
- Line 24: Update the project's Jackson artifacts to a single coordinated
version by moving or overriding all jackson dependencies (jackson-core,
jackson-annotations, jackson-databind, jackson-dataformat-cbor, etc.) into the
root-level managed-dependencies in project.clj and setting them to the same
version; ensure any existing per-module pins (e.g., references to jackson-core
"2.18.6", jackson-annotations "2.15.4", jackson-dataformat-cbor
"2.13.2"/"2.20.0", jackson-databind "2.20.0") are removed or replaced so they
inherit the managed-dependencies entry, and run a build to verify no dependency
version skew remains.
---
Nitpick comments:
In `@common-lib/project.clj`:
- Around line 8-9: The Jackson modules are using mismatched minor versions:
update the dependency entry for jackson-dataformat-cbor to match jackson-core's
version (2.18.6) so both modules use the same minor/patch line; locate the
dependency declaration that references
com.fasterxml.jackson.dataformat/jackson-dataformat-cbor (and any exclusions
referencing com.fasterxml.jackson.core/jackson-core) in project.clj and change
the version token for jackson-dataformat-cbor to 2.18.6 to align with
jackson-core.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 6e5c119b-bd4a-45a2-9890-61c3b32952c5
📒 Files selected for processing (12)
access-control-app/project.cljbootstrap-app/project.cljcommon-app-lib/project.cljcommon-lib/project.cljelastic-utils-lib/project.cljmessage-queue-lib/project.cljmetadata-db-app/project.cljproject.cljschema-validation-lib/project.cljsearch-app/project.cljsearch-relevancy-test/project.cljsystem-int-test/project.clj
| [cheshire "5.12.0"] ;; latest is 6.1.0 | ||
| [clj-http "3.11.0"] ;; latest is 3.13.1 | ||
| [clj-time "0.15.1"] ;; latest is 0.15.2 | ||
| [com.fasterxml.jackson.core/jackson-core "2.18.6"] |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
fd -p 'project.clj' | sort | while read -r f; do
rg -n 'com\.fasterxml\.jackson\.(core|dataformat|datatype)/jackson-[^ ]+\s+"[^"]+"' "$f" || true
done | sort -uRepository: nasa/Common-Metadata-Repository
Length of output: 984
Align the Jackson family versions across all project.clj files to avoid linkage issues.
Line 24 pins jackson-core to 2.18.6, but other modules use mismatched versions (jackson-annotations "2.15.4", jackson-dataformat-cbor "2.13.2" and "2.20.0", jackson-databind "2.20.0"). This version skew can cause linkage issues and prevent complete vulnerability remediation.
Establish a single coordinated version for all Jackson artifacts at the root-level managed-dependencies:
Proposed alignment
:managed-dependencies [[at.yawk.lz4/lz4-java "1.10.1"]
[cheshire "5.12.0"] ;; latest is 6.1.0
[clj-http "3.11.0"] ;; latest is 3.13.1
[clj-time "0.15.1"] ;; latest is 0.15.2
+ [com.fasterxml.jackson.core/jackson-annotations "2.18.6"]
[com.fasterxml.jackson.core/jackson-core "2.18.6"]
+ [com.fasterxml.jackson.core/jackson-databind "2.18.6"]
[org.clojure/clojure "1.11.2"] ;; lattest is 1.11.4 or 1.12.2🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@project.clj` at line 24, Update the project's Jackson artifacts to a single
coordinated version by moving or overriding all jackson dependencies
(jackson-core, jackson-annotations, jackson-databind, jackson-dataformat-cbor,
etc.) into the root-level managed-dependencies in project.clj and setting them
to the same version; ensure any existing per-module pins (e.g., references to
jackson-core "2.18.6", jackson-annotations "2.15.4", jackson-dataformat-cbor
"2.13.2"/"2.20.0", jackson-databind "2.20.0") are removed or replaced so they
inherit the managed-dependencies entry, and run a build to verify no dependency
version skew remains.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2403 +/- ##
==========================================
- Coverage 57.90% 57.89% -0.01%
==========================================
Files 1067 1067
Lines 73454 73454
Branches 2126 2125 -1
==========================================
- Hits 42531 42528 -3
- Misses 28942 28943 +1
- Partials 1981 1983 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Overview
What is the objective?
Updates jackson-core to resolve snyk report on Chesire. Currently updating to cheshire 6.2 doens't work due to some interactions with testcontainers so for this solution I'm just forcing a valid version of jackson-core, avoiding the transitive dependency.
What are the changes?
Updates project.clj in affected apps
Required Checklist
Additional Checklist
Summary by CodeRabbit