feat(devex): add a kotlin sdk module with a typed ledger client - #311
Merged
Conversation
Add libs/sdk-kotlin, a hand-written typed client over the REST API that depends only on the JDK HTTP client and Jackson, with no coupling to the service modules. The first surface covers the ledger account reads, with bearer auth applied only when a token is set, a request timeout, and a typed FincoreException on a non-2xx response. The deserializer tolerates unknown fields so a new server field does not break consumers. A maven publication is configured for local consumption with no remote target, so nothing is ever pushed to a registry. An embedding test exercises the client against an in-process HTTP server. Closes #304
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.
E-09 DevEx #304 (F-09.2) - a Kotlin SDK module.
What
New :libs:sdk-kotlin, a hand-written typed client over the REST API (JDK HttpClient + Jackson only, no coupling to service modules):
Hand-written over openapi-generator: no codegen toolchain, fully reviewable, clean dependency footprint. Scope is a deliberate minimal first surface; #310 tracks the remaining read/write operations.
Evidence
./gradlew :libs:sdk-kotlin:build = BUILD SUCCESSFUL locally (detekt + spotlessCheck + 4 tests + jacoco).
Gate chain
Closes #304