-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Replace univocity-parsers with FastCSV #4606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
marcphilipp
merged 56 commits into
junit-team:main
from
vdmitrienko:#4339-replace-univocity-parsers-with-fastcsv
Jun 23, 2025
Merged
Changes from 55 commits
Commits
Show all changes
56 commits
Select commit
Hold shift + click to select a range
6287630
Remove univocity-parsers license
vdmitrienko 7d98380
Do not create a shadow jar from com.univocity
vdmitrienko aabcd60
Rework arguments providers to use FastCSV
vdmitrienko fd33e6f
test: Update expected root cause exceptions
vdmitrienko 1dc063f
test: Update expected message on empty CSV
vdmitrienko b8efe07
test: Cover additional cases for empty values
vdmitrienko f62814c
Move "either value or textBlock" validation to getData(CsvSource)
vdmitrienko e768e7a
Deprecate CsvFileSource.lineSeparator as it's now detected automatically
vdmitrienko 72ae172
test: Remove CsvFileSource.lineSeparator() usages
vdmitrienko c96e787
CsvReaderFactory: set "since" to 6.0
vdmitrienko 3d3cadf
Preserve the original validation order
vdmitrienko b88e12d
Formatting
vdmitrienko cc7fd8c
ModularUserGuideTests: require de.siegmar.fastcsv module
vdmitrienko ff2691c
platform-tooling-support-tests: add FastCSV dependency
vdmitrienko cd3cc0e
Add release notes
vdmitrienko 4eaba09
test: use CsvParseException import instead of a fully qualified name
vdmitrienko 7661c96
Use condition() instead of creating PreconditionViolationException
vdmitrienko 59effbb
Respect alphabetical order in libs.versions.toml
vdmitrienko bfe368c
Shadow FastCSV
vdmitrienko b913ee3
Remove the no longer used extraJavaModuleInfo plugin
vdmitrienko 61350e4
Updates according to the recent changes in FastCSV snapshot
vdmitrienko 0de1857
Merge branch 'refs/heads/main' into #4339-replace-univocity-parsers-w…
vdmitrienko 43cd5c6
Avoid calling getFields() to prevent unnecessary object creation
vdmitrienko 50acf31
Remove univocity.parsers module option from documentation.gradle.kts
vdmitrienko e2ac4f4
Set allowDuplicateHeaderFields explicitly to avoid relying on defaults
vdmitrienko 62bddca
Set skipEmptyLines explicitly to avoid relying on defaults
vdmitrienko 5884015
Move common reader settings to constants
vdmitrienko 9cfea34
Remove no longer necessary testImplementation(libs.fastcsv) dependency
vdmitrienko 1eea9e6
Resolve NULL_MARKER for headers
vdmitrienko 2445030
Mention in release notes that annotation parameters now apply to headers
vdmitrienko ed6e8d4
Apply spotless
vdmitrienko 954f548
Ignore shadowed classes in avoidAccessingStandardStreams() arch test
vdmitrienko 2d62d8a
Avoid calling getHeader() to prevent unnecessary object creation
vdmitrienko cf704b3
Replace explicit variable types with var where appropriate
vdmitrienko 70cfdbe
Rename fromDelegate() factory method to delegatingTo()
vdmitrienko 0872858
Ignore empty lines in CsvSource.value()
vdmitrienko d5139e2
Copy FastCSV LICENSE file from dependency JAR
vdmitrienko 375cd33
Move variable declarations outside loops to improve performance
vdmitrienko 1e7e1ea
Retrieve headers and fields only once
vdmitrienko 3f74e33
Minor polishing
vdmitrienko ea07055
Remove lineSeparator() since FastCSV detects it automatically
vdmitrienko 05277d5
Merge branch 'refs/heads/main' into #4339-replace-univocity-parsers-w…
vdmitrienko 28df2ee
Use Gradle task to extract FastCSV license
marcphilipp 91c69b2
Merge remote-tracking branch 'origin/#4339-replace-univocity-parsers-…
vdmitrienko e4bcdd0
Only include FastCSV license once
marcphilipp 696bde6
Replace locally built FastCSV snapshot with officially released version
vdmitrienko 0f95d7f
Merge remote-tracking branch 'origin/#4339-replace-univocity-parsers-…
vdmitrienko 63211eb
Polish release notes
vdmitrienko ac81c55
documentation: add reads for de.siegmar.fastcsv module
vdmitrienko d786894
Add module declaration
vdmitrienko 328706a
Polish license handling
marcphilipp 4044fd9
Include fastcsv license in junit-platform-console-standalone jar
marcphilipp bb7aaa8
Restore configuration cache compatibility
marcphilipp 053b031
Restore validation of non-blankness of strings in `@CsvSource(value)`
marcphilipp c1858d7
Polish release notes
marcphilipp 9aab4b5
Polishing
marcphilipp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
gradle/base/dsl-extensions/src/main/kotlin/junitbuild/extensions/TaskExtensions.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,21 @@ | ||
package junitbuild.extensions | ||
|
||
import org.gradle.api.Task | ||
import org.gradle.api.file.ArchiveOperations | ||
import org.gradle.internal.os.OperatingSystem | ||
import org.gradle.kotlin.dsl.newInstance | ||
import javax.inject.Inject | ||
|
||
fun Task.trackOperationSystemAsInput() = | ||
inputs.property("os", OperatingSystem.current().familyName) | ||
|
||
fun <T> Task.withArchiveOperations(action: (ArchiveOperations) -> T): T = | ||
archiveOperations.run { action(this) } | ||
|
||
private val Task.archiveOperations: ArchiveOperations | ||
get() = project.objects.newInstance(DummyObject::class).archiveOperations | ||
|
||
private abstract class DummyObject { | ||
@get:Inject | ||
abstract val archiveOperations: ArchiveOperations | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.