Add SL4J Extensions & Kotest library#71
Open
rossdanderson wants to merge 9 commits into
Open
Conversation
Move the five reactive modules (core, api, kotlin, java-flow, reactivestreams) physically into reactive/datasource/ so the StreamLink SDK family can sit beside them under reactive/ later. A projectDir override in settings.gradle.kts relocates only the directory: the include coordinates, project paths, published Maven coordinates, and .api snapshots are all unchanged. Pure structural prefactor — no public API or behaviour change. Repoint the CI test-report globs and AGENTS.md module-layout prose at the new locations. Closes #66
A variable/parameter/property holding a subject's String form is named `path`; one typed `Subject` stays `subject` (ADR 0002). Applied across the public and internal datasourcex surface: - AntPatternNamespace: match/extract* String params → path. - reactive.core (Binder, Container, InternalContainerEvent, JsonContext, RecordContext): declared String-subject params/vals/properties → path / containerPath / rowPath. Caplin SDK property accesses (RequestEvent/DiscardEvent/Channel/JsonChannel.subject) and SDK method names are left untouched. - spring.internal DataSourceServerBootstrap: createFlow String params → path. - BroadcastEvent: `path` is now the property; `subject` retained as a @deprecated alias delegating to it, so the only public .api change is the additive getPath() (ships in the 3.x minor, no ABI removal). The buildSrc code generator already emits `path: String`, unchanged. check + apiCheck green. Note: the BroadcastEvent constructor parameter is also renamed to `path`. This is ABI-safe (parameter names are not part of the .api) but is a source break for Kotlin callers constructing it with the `subject = ` named argument. Part of #65. Closes #67
…til.Subject Bring the StreamLink client extensions in as a new published module, sl4jx-kotlin, at reactive/streamlink/kotlin. Imported as a plain copy on this repo's toolchain (common-library convention, Kotlin 2.2.21, Kotest 6.2.2, Jackson 3 / slf4j from the Spring Boot BOM). - Add exact-pinned streamlink/keymaster and kotlin-logging catalog entries. - Delete streamlinkx.Subject and retarget every reference to the shared com.caplin.integration.datasourcex.util.Subject; query parameters now render sorted. - Carry the PSL-889 publish-time POM hack (strip transitive junit:junit from StreamLinkJava) verbatim. - Register the module in settings, datasourcex-version-catalog, api-docs (Dokka) and root Kover; commit its .api baseline. - Correct the stale AGENTS.md claim that datasourcex-util has no DataSource SDK dependency. Closes #68
Align getContainer's onFailure handler with every other trySendBlocking block, which rethrow CancellationException rather than swallowing it.
…in.integration.kotest Closes #69
…ng of connection lifecycle. Update factories, configurations, tests, and path handling APIs for consistency.
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.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #65