Tags: caplin/DataSource-Extensions
Tags
fix(deps): update fory to 1.7.1 and kotlinx-collections-immutable to … …0.5.2 Fory 1.4.0 dropped readMapSize(MemoryBuffer) and 1.6.0 added parameters to MapLikeSerializer.newMap, so the persistent-collection serializers silently stopped overriding it: Fory fell back to its generic map serializer, which needs a no-arg constructor, and deserializing a persistent map failed at runtime. Adapts all four serializers to the current API, matching the 3.x implementations byte for byte. Consumers on Fory 1.6+ must build their Fory with compatible mode disabled (withCompatible(false)) when calling registerDataSourceSerializers with preserveExceptionTypes = true; scoped meta share rules the pair out.
ci: convert a UTF-16 signing key, and name a de-lined one The diagnostic identified the stored key: 1764 bytes, 881 of them NUL, no newlines — UTF-16LE with a BOM, which is what PowerShell redirection writes, and stripped of its line breaks. The size is right for the ed25519 key that signed 3.1.0, so the key itself is whole. A BOM says unambiguously what the encoding is, so convert rather than fail. Line breaks cannot be recovered as safely, since armour carries its payload wrapped and a CRC line of its own, so report that fault with the commands that re-store the variable correctly.
Move CI/CD and publishing to GitLab and Artifactory Same migration as main: add .gitlab-ci.yml as the primary build/test/publish pipeline, publish library artifacts to Artifactory (releases/rc/ci repos by version) instead of Maven Central, and switch the private DataSource SDK dependency resolution repo from repository.caplin.com to Artifactory. GitHub Actions keeps a slimmed-down docs (GitHub Pages) workflow and a release workflow that creates a GitHub Release when a tag mirrors across. Maven Central publishing is kept registered but only runs via a manual, tag-gated GitLab job. Drops the GitHub Actions build and Renovate workflows.
chore(publish): cut Maven Central file and release counts (2.x) (#88) Upgrade vanniktech-maven-publish to 0.37.0, whose defaults publish only md5/sha1 checksums and drop the redundant signature checksums and sha256/sha512 (~380 -> ~152 files per release). Fix the removed SonatypeHost API by calling publishToMavenCentral() with no argument. Derive the publish version from the git tag so pre-release tags (X.Y.Z-rcN) publish an overwriting X.Y.Z-SNAPSHOT to the separate, quota-exempt snapshot repository instead of a full release; clean X.Y.Z tags still release. (cherry picked from commit f48b825)
Add SL4J Extensions & Kotest library (#71) Adds two new libraries: * sl4jx-kotlin - A client library for connecting to Liberator over StreamLink with reactive bindings to Kotlin Flow. * datasourcex-kotest - A utility library for easy end to end testing with a Liberator container and real StreamLink and DataSource connectivity.
Adopt no-`data class` public-API convention (ADR 0003) Public value types are plain classes with hand-written equals/hashCode/ toString, never `data class`, so `copy`/`componentN` don't become locked-in binary surface. See https://jakewharton.com/public-api-challenges-in-kotlin/. - ADR 0003 records the convention; `AntPatternNamespace` (plain class with a hand-written `copy`) is the in-repo exemplar. - sl4jx: `UpdateEvent`/`StatusEvent`/`ErrorEvent` and `ContainerChange.Added`/ `Removed` are now uniformly hand-written; rename the `ContainerEvent` alias to `ContainerChangeEvent` to stop clashing by simple name with `reactive.api.ContainerEvent`. - kotest: de-`data` `DefaultContainerConfig`/`CustomContainerConfig`/`Liberator` — config/handle holders whose generated equality over streams, containers and factories was meaningless. - util: de-`data` `Versioned` and `VersionedMapEvent.Upsert`/`Removed` (unreleased), matching the hand-written `MapEvent` family. .api baselines regenerated; apiCheck green across all modules.
PreviousNext