Skip to content

Conversation

kpavlov
Copy link
Contributor

@kpavlov kpavlov commented Sep 12, 2025

#252 Add module documentation and enhance Dokka configuration

How Has This Been Tested?

./gradlew :docs:dokkaGenerate

Changes

  • Add workflow to build and publish API documentation with Dokka
    • Introduce .github/workflows/apidocs.yaml to build and deploy API docs on main and release events.
    • Configure Gradle for Dokka builds and update project dependencies.
    • Include :docs module in project settings.
  • Introduce Module.md for kotlin-sdk-server, kotlin-sdk-client, and kotlin-sdk-core modules.
  • Update .gitignore to include .idea/icon.png and add placeholder icon files
  • Remove outdated documentation HTML files

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@kpavlov kpavlov added the documentation Improvements or additions to documentation label Sep 12, 2025
@kpavlov kpavlov requested a review from devcrocod September 12, 2025 06:46
@kpavlov kpavlov marked this pull request as ready for review September 12, 2025 06:51
@kpavlov kpavlov requested review from e5l and tiginamaria and removed request for e5l September 12, 2025 06:51
@kpavlov kpavlov requested review from e5l and aozherelyeva September 12, 2025 09:55
Copy link
Contributor

@devcrocod devcrocod left a comment

Choose a reason for hiding this comment

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

I have some questions about this pr, could you please take a look at them?

Also, have you explored documentation versioning? And how could it work with gh actions?

":kotlin-sdk-server",
":kotlin-sdk",
":kotlin-sdk-test",
":docs",
Copy link
Contributor

Choose a reason for hiding this comment

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

why make a separate docs module?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

because it has to define dependencies for dokka to compile site for multimodule project

Copy link
Contributor

Choose a reason for hiding this comment

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

You can do this in :kotlin-sdk without creating a new module

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I would prefer a separate docs module to have a place for assets and custom docs in the future

with:
path: docs/build/dokka/html

- name: Deploy to GitHub Pages
Copy link
Contributor

Choose a reason for hiding this comment

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

Do I understand correctly that the deploy will be from github actions instead of main/docs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes. But I can test it only once workflow is merged to default branch

.idea/icon.png Outdated
Copy link
Contributor

Choose a reason for hiding this comment

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

How and where is this icon used? Why add it to .idea if it’s already in docs/icon?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it is visible here:
image

includes.from("Module.md")

pluginsConfiguration.html {
footerMessage = "Copyright © 2024-2025 Anthropic, PBC"
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe we should change the copyright, for example like in C#?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a question, but not to me :) I took it from here for consistency.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yea, I understand
it's a general question, mb we should change it in License as well

docs/icon.png Outdated
Copy link
Contributor

Choose a reason for hiding this comment

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

This icon is not used in any way.
I also don’t understand why it’s necessary

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I wanted to include it as a logo in apidocs

Copy link
Contributor

Choose a reason for hiding this comment

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

No need, it should be kotlin or jb+kotlin logo

@kpavlov
Copy link
Contributor Author

kpavlov commented Sep 12, 2025

Also, have you explored documentation versioning?

I did not explore document versioning yet. Thank you for the link, but let's implement it in another PR

@devcrocod
Copy link
Contributor

devcrocod commented Sep 12, 2025

I did not explore document versioning yet. Thank you for the link, but let's implement it in another PR

sure
But it seems to me that with versioning, deploying the documentation from actions won’t work

e5l
e5l previously approved these changes Sep 15, 2025

- name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3
uses: gradle/actions/setup-gradle@v4
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Docker image pinning is actually recommended for security reasons.
We can skip it today since the Renovate is not configured.
https://docs.renovatebot.com/docker/#digest-pinning
https://docs.renovatebot.com/modules/manager/github-actions/#digest-pinning-and-updating

Comment on lines 7 to 8
push:
branches: [ "main" ]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Now, documentation is never built automatically

Copy link
Contributor

@devcrocod devcrocod Sep 15, 2025

Choose a reason for hiding this comment

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

no, it will build automatically by release or manually
If the documentation is published on push, it means it will not match sdk from maven central

kpavlov and others added 4 commits September 15, 2025 17:27
- Add workflow to build and publish API documentation with Dokka
  - Introduce `.github/workflows/apidocs.yaml` to build and deploy API docs on `main` and release events.
  - Configure Gradle for Dokka builds and update project dependencies.
  - Include `:docs` module in project settings.
- Introduce `Module.md` for `kotlin-sdk-server`, `kotlin-sdk-client`, and `kotlin-sdk-core` modules.
- Update `.gitignore` to include `.idea/icon.png` and add placeholder icon files
- Remove outdated documentation HTML files
- remove docs gradle module
- remove trigger docs on push
- add main page for dokka documentation
@devcrocod devcrocod merged commit 557bc5e into main Sep 15, 2025
4 checks passed
@devcrocod devcrocod deleted the kpavlov/apidocs branch September 15, 2025 15:44
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Sep 16, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[io.modelcontextprotocol:kotlin-sdk-server](https://github.com/modelcontextprotocol/kotlin-sdk)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`0.7.0` -> `0.7.1` |
|
[io.modelcontextprotocol:kotlin-sdk-core](https://github.com/modelcontextprotocol/kotlin-sdk)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`0.7.0` -> `0.7.1` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | patch | `3.0.2` ->
`3.0.3` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:s3](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:regions](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.33.9` -> `2.33.10` |

---

### Release Notes

<details>
<summary>modelcontextprotocol/kotlin-sdk
(io.modelcontextprotocol:kotlin-sdk-server)</summary>

###
[`v0.7.1`](https://github.com/modelcontextprotocol/kotlin-sdk/releases/tag/0.7.1)

[Compare
Source](modelcontextprotocol/kotlin-sdk@0.7.0...0.7.1)

##### What's Changed

- Bump io.github.oshai:kotlin-logging from 7.0.7 to 7.0.11 by
[@&#8203;dependabot](https://github.com/dependabot)\[bot] in
[#&#8203;211](modelcontextprotocol/kotlin-sdk#211)
- Bump org.jlleitschuh.gradle.ktlint from 13.0.0 to 13.1.0 by
[@&#8203;dependabot](https://github.com/dependabot)\[bot] in
[#&#8203;241](modelcontextprotocol/kotlin-sdk#241)
- Bump com.anthropic:anthropic-java from 0.8.0 to 2.6.0 by
[@&#8203;dependabot](https://github.com/dependabot)\[bot] in
[#&#8203;246](modelcontextprotocol/kotlin-sdk#246)
- Fix upload reports in GitHub actions by
[@&#8203;skarpovdev](https://github.com/skarpovdev) in
[#&#8203;264](modelcontextprotocol/kotlin-sdk#264)
- Bump ktor from 3.2.3 to 3.3.0 by
[@&#8203;dependabot](https://github.com/dependabot)\[bot] in
[#&#8203;265](modelcontextprotocol/kotlin-sdk#265)
- fix hang caused by StreamableHttpClientTransport
([#&#8203;226](modelcontextprotocol/kotlin-sdk#226))
by [@&#8203;AdrianMiska](https://github.com/AdrianMiska) in
[#&#8203;227](modelcontextprotocol/kotlin-sdk#227)
- Bump kotlin from 2.2.0 to 2.2.10 by
[@&#8203;dependabot](https://github.com/dependabot)\[bot] in
[#&#8203;230](modelcontextprotocol/kotlin-sdk#230)
- Add module documentation and enhance Dokka configuration by
[@&#8203;kpavlov](https://github.com/kpavlov) in
[#&#8203;261](modelcontextprotocol/kotlin-sdk#261)
- Mark `testMultipleClientParallel` as ignored due to flakiness by
[@&#8203;devcrocod](https://github.com/devcrocod) in
[#&#8203;267](modelcontextprotocol/kotlin-sdk#267)

##### New Contributors

- [@&#8203;AdrianMiska](https://github.com/AdrianMiska) made their first
contribution in
[#&#8203;227](modelcontextprotocol/kotlin-sdk#227)

**Full Changelog**:
<modelcontextprotocol/kotlin-sdk@0.7.0...0.7.1>

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v3.0.3`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-303)

- \[Fix]: compare versions via `VersionNumber`, not raw strings.
- \[Fix] Forcibly downgrade kotlin-stdlib to 2.0.21 for Gradle 8.11
support.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: 5f728b0acc73a9742f56946b97f85ad1e3355442
skarpovdev pushed a commit to skarpovdev/kotlin-sdk that referenced this pull request Sep 16, 2025
…tprotocol#261)

##  modelcontextprotocol#252 Add module documentation and enhance Dokka configuration

## How Has This Been Tested?

`./gradlew :docs:dokkaGenerate`

## Changes

- Add workflow to build and publish API documentation with Dokka
- Introduce `.github/workflows/apidocs.yaml` to build and deploy API
docs on `main` and release events.
  - Configure Gradle for Dokka builds and update project dependencies.
  - Include `:docs` module in project settings.
- Introduce `Module.md` for `kotlin-sdk-server`, `kotlin-sdk-client`,
and `kotlin-sdk-core` modules.
- Update `.gitignore` to include `.idea/icon.png` and add placeholder
icon files
- Remove outdated documentation HTML files

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

---------

Co-authored-by: devcrocod <devcrocod@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants