Skip to content

GROOVY-11923: Provide a groovy-csv optional module#2462

Merged
paulk-asert merged 1 commit into
apache:masterfrom
paulk-asert:groovy11923
Apr 12, 2026
Merged

GROOVY-11923: Provide a groovy-csv optional module#2462
paulk-asert merged 1 commit into
apache:masterfrom
paulk-asert:groovy11923

Conversation

@paulk-asert
Copy link
Copy Markdown
Contributor

No description provided.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 11, 2026

Codecov Report

❌ Patch coverage is 60.74766% with 42 lines in your changes missing coverage. Please review.
✅ Project coverage is 66.4888%. Comparing base (071f28f) to head (4f6c808).
⚠️ Report is 8 commits behind head on master.

Files with missing lines Patch % Lines
...roovy-csv/src/main/java/groovy/csv/CsvSlurper.java 63.6364% 16 Missing and 4 partials ⚠️
...roovy-csv/src/main/java/groovy/csv/CsvBuilder.java 65.2174% 13 Missing and 3 partials ⚠️
.../src/main/java/groovy/csv/CsvRuntimeException.java 0.0000% 6 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@                Coverage Diff                 @@
##               master      #2462        +/-   ##
==================================================
- Coverage     66.4918%   66.4888%   -0.0031%     
- Complexity      30270      30312        +42     
==================================================
  Files            1411       1415         +4     
  Lines          118031     118217       +186     
  Branches        20989      21004        +15     
==================================================
+ Hits            78481      78601       +120     
- Misses          33074      33129        +55     
- Partials         6476       6487        +11     
Files with missing lines Coverage Δ
.../src/main/java/groovy/csv/CsvRuntimeException.java 0.0000% <0.0000%> (ø)
...roovy-csv/src/main/java/groovy/csv/CsvBuilder.java 65.2174% <65.2174%> (ø)
...roovy-csv/src/main/java/groovy/csv/CsvSlurper.java 63.6364% <63.6364%> (ø)

... and 10 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@paulk-asert paulk-asert force-pushed the groovy11923 branch 2 times, most recently from 61cf8bd to fd4a5d2 Compare April 12, 2026 03:15
@daniellansun
Copy link
Copy Markdown
Contributor

+1

@glaforge
Copy link
Copy Markdown
Contributor

I remember there was this GroovyCSV library as well by the way:

Maybe it's worth having a look at its feature-set.
It's using OpenCSV library.

Via your PR, I discovered that Jackson was also parsing CSV!
It's nice to be able to read CSV lines as typed objects!

@paulk-asert
Copy link
Copy Markdown
Contributor Author

My thinking with Jackson CSV processing was that if folks are already using TOML or YAML jackson libraries via groovy-toml or groovy-yaml, then they have the shared databind jars already in the classpath. And it means typed object support identical across all of those: CSV, TOML and YAML. But I am not averse to GroovyCSV, OpenCSV, or Apache Commons CSV.

This comment was marked as outdated.

@glaforge
Copy link
Copy Markdown
Contributor

This is fine to use Jackson! And the rationale makes sense.
I really like the fact we can extracted proper strongly typed objects out of the CSV, that's pretty neat.

@paulk-asert paulk-asert merged commit 1a34c22 into apache:master Apr 12, 2026
23 checks passed
@paulk-asert paulk-asert deleted the groovy11923 branch April 12, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants