Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,12 @@ Check out our [getting started guide](https://kotlin.github.io/kotlinx-rpc) for

## Configure the project

### Plugin dependencies
### Plugin for IntelliJ-based IDEs

To ensure that all IDE features of our compiler plugin work properly on IntelliJ-based IDEs, install the
[Kotlin External FIR Support](https://plugins.jetbrains.com/plugin/26480-kotlin-external-fir-support?noRedirect=true) plugin.

### Gradle plugins

`kotlinx.rpc` provides Gradle plugin `org.jetbrains.kotlinx.rpc.plugin`
that will set up code generation in a project.
Expand Down
1 change: 1 addition & 0 deletions docs/pages/kotlinx-rpc/rpc.tree
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
start-page="get-started.topic">

<toc-element topic="get-started.topic"/>
<toc-element topic="ide-plugin.topic"/>
<toc-element topic="plugins.topic"/>
<toc-element toc-title="Core concepts">
<toc-element topic="services.topic"/>
Expand Down
10 changes: 10 additions & 0 deletions docs/pages/kotlinx-rpc/topics/get-started.topic
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,16 @@
including but not limited to <a href="https://grpc.io">gRPC</a>.
</p>
</chapter>
<chapter title="IDE Plugin" id="install-ide-plugin">
<p>
Library uses a Kotlin compiler plugin to generate declarations.
To make this work in Intellij-based IDEs,
we provide <a href="https://plugins.jetbrains.com/plugin/26480-kotlin-external-fir-support?noRedirect=true">Kotlin External FIR Support</a> plugin.
</p>
<p>
To learn more, see <a href="ide-plugin.topic"/> page
</p>
</chapter>
<chapter title="Installation" id="installation">
<p>Before adding <code>kotlinx.rpc</code> dependencies, you need to configure your project with <a
href="https://docs.gradle.org/current/userguide/userguide.html">Gradle</a>.
Expand Down
46 changes: 46 additions & 0 deletions docs/pages/kotlinx-rpc/topics/ide-plugin.topic
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
SYSTEM "https://resources.jetbrains.com/writerside/1.0/xhtml-entities.dtd">
<topic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/topic.v2.xsd"
title="IDE Plugin" id="ide-plugin">

<p>
The <code>kotlinx.rpc</code> library uses an external Kotlin compiler plugin to generate declarations.
To ensure compatibility with IntelliJ-based IDEs, we provide the
<a href="https://plugins.jetbrains.com/plugin/26480-kotlin-external-fir-support?noRedirect=true">
Kotlin External FIR Support
</a>
plugin.
</p>
<chapter title="Supported versions" id="supported-versions">
<p>
The plugin is based on experimental IDE functionality,
which means that only newer IDE versions are supported.
For full compatibility guidelines, refer to the
<a href="https://plugins.jetbrains.com/plugin/26480-kotlin-external-fir-support?noRedirect=true">
the plugin documentation on the JetBrains Marketplace
</a>
.
</p>
</chapter>
<chapter title="Configuration" id="config">
<p>
No additional configuration is required. The plugin works automatically upon installation.
</p>
</chapter>
<chapter title="Limitations" id="limitations">
<p>
There are currently no known limitations when using the plugin on supported IDE versions.
</p>
<p>
If you encounter issues, unexpected limitations, or bugs,
please report them by creating a new issue on
<a href="https://github.com/Mr3zee/kotlin-plugins/issues">
GitHub
</a>
.
</p>
</chapter>

</topic>
2 changes: 1 addition & 1 deletion docs/pages/kotlinx-rpc/topics/plugins.topic
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
SYSTEM "https://resources.jetbrains.com/writerside/1.0/xhtml-entities.dtd">
<topic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/topic.v2.xsd"
title="Plugins" id="plugins">
title="Gradle plugin" id="plugins">
<p>
The <code>kotlinx.rpc</code> library offers a <a href="https://docs.gradle.org/current/userguide/plugins.html">Gradle plugin</a>
that simplifies project configuration by automating repetitive tasks: `org.jetbrains.kotlinx.rpc.plugin`
Expand Down