-
Notifications
You must be signed in to change notification settings - Fork 176
modularize sdk #208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
modularize sdk #208
Conversation
…e modules. Removed old configuration files and reorganized the source code structure
…rdcoded dependencies with version catalog, remove obsolete gradle wrapper files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR modularizes the Kotlin SDK by splitting it into separate modules (core, client, server) and reorganizes the project structure. The samples are configured as composite builds and now use shared version catalogs for dependency management.
- Splits the monolithic SDK into separate core, client, and server modules for better organization
- Configures sample projects as composite builds with shared dependency management
- Introduces centralized build configuration through custom Gradle plugins
Reviewed Changes
Copilot reviewed 63 out of 90 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| settings.gradle.kts | Adds new module includes and configures samples as composite builds |
| kotlin-sdk/build.gradle.kts | New umbrella module that combines core, client, and server modules |
| kotlin-sdk-core/build.gradle.kts | Core SDK module with multiplatform configuration |
| kotlin-sdk-client/build.gradle.kts | Client-specific functionality module |
| kotlin-sdk-server/build.gradle.kts | Server-specific functionality module |
| kotlin-sdk-test/build.gradle.kts | Test module configuration |
| samples/*/build.gradle.kts | Updated to use version catalog references |
| gradle/libs.versions.toml | Centralized dependency versions with sample dependencies |
| buildSrc/* | Custom Gradle plugins for publishing, multiplatform, and documentation |
Files not reviewed (5)
- samples/kotlin-mcp-server/.idea/.gitignore: Language not supported
- samples/kotlin-mcp-server/.idea/gradle.xml: Language not supported
- samples/kotlin-mcp-server/.idea/kotlinc.xml: Language not supported
- samples/kotlin-mcp-server/.idea/misc.xml: Language not supported
- samples/kotlin-mcp-server/.idea/vcs.xml: Language not supported
Comments suppressed due to low confidence (1)
kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/Protocol.kt:442
- [nitpick] The removal of the explicit
Unitreturn statement may be intentional cleanup, but could affect readability in complex exception handling blocks.
}
kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt
Show resolved
Hide resolved
…l modules separately instead of building all at once
e5l
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
core,client,server, closes Further split of this library into modules (e.g. api, client, server) #33lib.versions.tomlMotivation and Context
How Has This Been Tested?
locally
Breaking Changes
No
Types of changes
Checklist