Skip to content

Conversation

daniCsorbaJB
Copy link

This is the second part of the Kotlin Serialization rewrite.

Related YouTract ticket is: KT-80054 [Docs][Libraries] Get started with Kotlin Serialization)

@daniCsorbaJB daniCsorbaJB changed the title feat: adding the get started page Documentation rewrite - Get started page Aug 11, 2025

To include the `kotlinx.serialization` library in your project, add the corresponding plugin and dependency configuration based on your build tool.

> To set up the Kotlin compiler plugin for Bazel, see the example provided in the [rules_kotlin repository](https://github.com/bazelbuild/rules_kotlin/tree/master/examples/plugin/src/serialization).
Copy link
Member

Choose a reason for hiding this comment

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

I think this note should be moved after Gradle/Maven sections

Copy link
Author

Choose a reason for hiding this comment

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

hmm 🤔 my issue with that is that way it might seem like it's related to Maven. Since it's just a note without specific instructions I left it in the generic part of the doc.

Copy link
Member

Choose a reason for hiding this comment

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

It's weird to start the dependencies section with Bazel. The first buildsystem mentioned should be our default — Gradle.

Copy link
Member

Choose a reason for hiding this comment

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

You can use ### Other build systems section or something like that to mention Bazel

Copy link
Member

Choose a reason for hiding this comment

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

We can also mention there for example our 'raw' compiler plugin artifact to be used with -Xplugin CLI arg. I can add it there later

</dependencies>
```

### Add the Kotlin serialization library to a multiplatform project
Copy link
Member

Choose a reason for hiding this comment

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

We also mention Proguard rules (specific for Android) in the README.md. Do you plan to add them here?

Copy link
Author

Choose a reason for hiding this comment

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

good question 🤔
I think we could add it to the Create custom serializer page (where we talk about serializer() and companion objects) Although, we could place a link to that part of the page here. 🤔
What do you think?

Copy link
Member

Choose a reason for hiding this comment

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

I think it's a bad idea. It is not always related to custom serializer, regular @Serializable classes can have named companions as well. I would expect separate page for Proguard then (linked here)

Copy link
Member

@sandwwraith sandwwraith left a comment

Choose a reason for hiding this comment

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

.

Copy link
Member

@sandwwraith sandwwraith left a comment

Choose a reason for hiding this comment

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

I've realized we have a tip

We also provide kotlinx-serialization-core artifact that contains all serialization API but does not have a bundled serialization format with it

in our current README.md, which is missing from this document.
Perhaps it is better to place it in the serialization.md/Kotlin serialization libraries or Supported serialization formats section in the form of

Pro tip: if you do not want a dependency on a particular format (e.g., you are writing your own serialization format), you can use kotlinx-serialization-core library.

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