Skip to content

feat: adding Kotlin support#5

Merged
CyAScott merged 10 commits into
mainfrom
feat/kotlin
May 25, 2026
Merged

feat: adding Kotlin support#5
CyAScott merged 10 commits into
mainfrom
feat/kotlin

Conversation

@CyAScott

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings May 25, 2026 17:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Kotlin/JVM implementation of PolyBus to extend the framework’s multi-language parity, including core bus APIs, message metadata, handler pipelines, and an in-memory transport, plus CI integration and documentation updates.

Changes:

  • Introduces Kotlin core library (IPolyBus, PolyBus, PolyBusBuilder), message/transaction models, and handler typealiases.
  • Adds Kotlin in-memory transport implementation and JSON (de)serialization handlers.
  • Adds Kotlin test suite + Gradle build/coverage setup, and wires Kotlin into PR/release GitHub Actions and root documentation.

Reviewed changes

Copilot reviewed 49 out of 50 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/MessageWithoutAttribute.kt Test helper message without annotation
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/MessagesTests.kt Tests for message registry behavior
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/MessageInfoTests.kt Tests for header parsing/equality semantics
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/handlers/serializers/JsonHandlerTestMessage.kt Serializer test message model
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/handlers/serializers/JsonHandlersTests.kt JSON handler unit test
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/handlers/error/TestTransport.kt Test transport stub for error handler tests
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/handlers/error/TestBus.kt Test bus stub for error handler tests
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/handlers/error/ErrorHandlerTests.kt Error handler retry/dead-letter tests
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/handlers/error/ErrorHandlerTestMessage.kt Error handler test message model
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/Event.kt Test event message model
src/kotlin/src/test/kotlin/polybus/transport/transactions/messages/Command.kt Test command message model
src/kotlin/src/test/kotlin/polybus/transport/inmemory/TestEnvironment.kt In-memory transport test harness
src/kotlin/src/test/kotlin/polybus/transport/inmemory/TestEndpoint.kt Endpoint fixture for in-memory tests
src/kotlin/src/test/kotlin/polybus/transport/inmemory/InMemoryTransportTests.kt In-memory transport integration tests
src/kotlin/src/test/kotlin/polybus/transport/inmemory/AlphaEvent.kt In-memory test event model
src/kotlin/src/test/kotlin/polybus/transport/inmemory/AlphaCommand.kt In-memory test command model
src/kotlin/src/main/kotlin/polybus/transport/TransportFactory.kt Kotlin transport factory typealias
src/kotlin/src/main/kotlin/polybus/transport/transactions/Transaction.kt Base transaction implementation
src/kotlin/src/main/kotlin/polybus/transport/transactions/OutgoingTransactionFactory.kt Outgoing transaction factory typealias
src/kotlin/src/main/kotlin/polybus/transport/transactions/OutgoingTransaction.kt Outgoing transaction type
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/PolyBusMessageNotFoundError.kt Kotlin message registry error type
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/OutgoingMessage.kt Outgoing message envelope
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/MessageType.kt Command/Event enum
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/Messages.kt Message registry for Kotlin
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/MessageInfo.kt MessageInfo annotation + header parsing
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/Message.kt Base message state/headers
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/IncomingMessage.kt Incoming message envelope
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/handlers/serializers/JsonHandlers.kt JSON serializer/deserializer handlers
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/handlers/OutgoingHandler.kt Outgoing handler typealias
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/handlers/IncomingHandler.kt Incoming handler typealias
src/kotlin/src/main/kotlin/polybus/transport/transactions/messages/handlers/error/ErrorHandler.kt Retry/dead-letter handler
src/kotlin/src/main/kotlin/polybus/transport/transactions/IncomingTransactionFactory.kt Incoming transaction factory typealias
src/kotlin/src/main/kotlin/polybus/transport/transactions/IncomingTransaction.kt Incoming transaction type
src/kotlin/src/main/kotlin/polybus/transport/PolyBusNotStartedError.kt Transport “not started” error
src/kotlin/src/main/kotlin/polybus/transport/ITransport.kt Kotlin transport interface
src/kotlin/src/main/kotlin/polybus/transport/inmemory/InMemoryMessageBroker.kt In-memory broker implementation
src/kotlin/src/main/kotlin/polybus/transport/inmemory/InMemoryEndpoint.kt In-memory endpoint transport
src/kotlin/src/main/kotlin/polybus/PolyBusError.kt Base error type for Kotlin
src/kotlin/src/main/kotlin/polybus/PolyBusBuilder.kt Kotlin builder API + defaults
src/kotlin/src/main/kotlin/polybus/PolyBus.kt Kotlin bus implementation + pipelines
src/kotlin/src/main/kotlin/polybus/IPolyBus.kt Kotlin bus interface
src/kotlin/src/main/kotlin/polybus/Headers.kt Common header keys
src/kotlin/settings.gradle.kts Kotlin Gradle project naming
src/kotlin/README.md Kotlin module documentation
src/kotlin/build.gradle.kts Kotlin Gradle build + JaCoCo coverage task
README.md Root README: add Kotlin support/docs
.gitignore Ignore Gradle cache directories
.github/workflows/release-and-publish.yml Add Kotlin build/test/artifact + publish job
.github/workflows/pr-tests.yml Add Kotlin CI tests + coverage upload
.github/copilot-instructions.md Document Kotlin module conventions

Comment thread src/kotlin/build.gradle.kts
Comment thread .github/workflows/release-and-publish.yml Outdated
Comment thread .github/workflows/release-and-publish.yml Outdated
Comment thread .github/workflows/pr-tests.yml Outdated
Comment thread src/kotlin/settings.gradle.kts Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 25, 2026 17:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 49 out of 50 changed files in this pull request and generated 8 comments.

Comment thread .github/workflows/release-and-publish.yml Outdated
Comment thread .github/workflows/pr-tests.yml
Comment thread src/kotlin/README.md Outdated
CyAScott and others added 2 commits May 25, 2026 13:58
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 25, 2026 17:59
CyAScott and others added 2 commits May 25, 2026 14:00
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 52 out of 54 changed files in this pull request and generated 1 comment.

Copilot AI review requested due to automatic review settings May 25, 2026 18:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 52 out of 54 changed files in this pull request and generated 2 comments.

Comment thread .github/workflows/release-and-publish.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 25, 2026 18:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 52 out of 54 changed files in this pull request and generated 1 comment.

@CyAScott CyAScott enabled auto-merge (rebase) May 25, 2026 19:04
@CyAScott CyAScott disabled auto-merge May 25, 2026 19:04
@CyAScott CyAScott merged commit bd59786 into main May 25, 2026
13 checks passed
@CyAScott CyAScott deleted the feat/kotlin branch May 25, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants