- Registration query
- Includes registrations with incoherent raw/pax results if they are present on disk
- Includes registrations without category, handicap, or number
- Staging Runs query
- Returns list of StagingRun objects, which additionally includes the arbitrary registration data included on the staging line, which might not match the proper registration data.
- Includes items for every line, including those with fields which couldn't be parsed fully
- This allows users to detect and be warned about problems in the crispy fish data related to staging/registration mismatches
- Remove the Results queries
- These wrongfully trusted the metadata contained in the Registration and Staging files, which can make for wildly inaccurate results sometimes
- Convert java.io.File to java.nio.file.Path (breaking change)
- ClassDefinitionFile, RegistrationFile, StagingFile, and StagingLogFile are JVM inlined value classes
- Cleaned up the ClassDefinitionFile implementation
- Massively reduced the surface area of the API
- Query staging runs
- Don't duplicate the gpg configuration
- Separate deployment configurations per target
- CD job should sign github release versions with gpg
- CD job won't try to publish release versions
- CD job shouldn't try to publish release versions
- Refine CI/CD/Release processes
- CI builds on main and PRs
- CD publishes snapshots on main
- Publish releases on Maven Central and GitHub Packages
- Migrate to Maven Central
- New Maven coordinates:
- Group ID: tech.coner.crispyfish
- Artifact ID: crispyfish-library
- New Maven coordinates:
- Package renamed from org.coner.crispyfish to tech.coner.crispyfish
- Adopt Nexus Staging Plugin
- Adopt Dokka
- Thrashing progress towards 0.5 series.
- Don't use versions in 0.4.x series.
- RegistrationResult without time will have null instead of empty string
- Overhauled Registration handling
- All columns in .rgg file are now available in Registration models
- Most Registration model properties are now nullable
- Previously empty strings will now be null
- Improves reliability of reading registration for starting and running events
- Custom property map
- Removed
RegistrationMapper
and other internal classes from the public API- Use
EventControlFile.query*()
methods to query registrations, results, etc
- Use
- Registrations will not have results if they lack a position, such as DNS
- Upgraded dependencies
- Kotlin 1.4
- JVM Target 11
- Expanded Registration reading to include:
- Best Run
- Expanded Registration reading to include:
- Member Number
- Individual run times/penalties
- Overall raw/pax times and standings
- Changed queries to source data cached in registration file
- New queries:
- Class definitions
- Categories
- Handicaps
- Registrations
- Class definitions
- Clean up registrations file API and implementation
Initial release.
Features:
- Registrations
- Locate correct file
- Read registration records with basic information
- Query raw and pax times from staging files