# How to build a plugin that support multiple platforms (and all version since LSP support)

**URL:** <https://platform.jetbrains.com/t/how-to-build-a-plugin-that-support-multiple-platforms-and-all-version-since-lsp-support/1309>\
**Category:** IntelliJ Platform\
**Created:** [April 11, 2025, 3:01am UTC](https://platform.jetbrains.com/t/how-to-build-a-plugin-that-support-multiple-platforms-and-all-version-since-lsp-support/1309 "2025-04-11T03:01:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![simonshortman](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/simonshortman/32/1095_2.png) [@simonshortman](https://platform.jetbrains.com/u/simonshortman)\
**Post date:** [April 11, 2025, 3:01am UTC](https://platform.jetbrains.com/t/how-to-build-a-plugin-that-support-multiple-platforms-and-all-version-since-lsp-support/1309/1 "2025-04-11T03:01:45Z")

</div>

Firstly I’m a total newbie (totally fumbling around in the dark) …and have managed to develop a plugin for LSP support.

I used this template [GitHub - JetBrains/intellij-platform-gradle-plugin: Gradle plugin for building plugins for JetBrains IDEs](https://github.com/JetBrains/intellij-platform-gradle-plugin)

I can set the `platformType` to `RD` and my plugin runs as expected in Rider! Yay!

I want to have the plugging work for _all_ the JetBrains Tools (Rider, IntelliJ, WebStorm etc) and versions that supports the `LspServerSupportProvider`. Not sure how this is determined!

It seems the above template only supports a single `platformType` per the `grade.properties` and have search around but only find example that seem totally different setups to the template.

I’m finding the documentation in general very hard to follow for folks that are not familiar with the entire toolset.

It seems (from my limited perspective, that Muti platform support would be beneficial for many plugins - and unfortunate that the template does to seem include that.

Any help appreciated !

---

<div class="post-metadata">

**Author:** ![RankWeis](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/rankweis/32/677_2.png) [@RankWeis](https://platform.jetbrains.com/u/RankWeis)\
**Post date:** [April 11, 2025, 8:03am UTC](https://platform.jetbrains.com/t/how-to-build-a-plugin-that-support-multiple-platforms-and-all-version-since-lsp-support/1309/2 "2025-04-11T08:03:19Z")

</div>

When you actually upload your plugin, it will automatically check the dependencies used and see which IDEs have that compatibility, and will automatically choose those.

If you want to instead limit these to certain IDEs, you can do that there as well.

Here you can see my plugin, which depends on java, is compatible with all the Java platforms -

 ![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/1/1a429e8f28ddba233e46480b2ea4ac9fc66b5ac0.png)

But you can see [here](https://github.com/RankWeis/uppercut/blob/main/build.gradle.kts#L65) I only depend on intellij Ultimate - no link to Aqua for example

Also see [here](https://plugins.jetbrains.com/docs/intellij/dev-alternate-products.html#intellij-platform-gradle-plugin-2x) for a bit more info

---

<div class="post-metadata">

**Author:** ![jakub.chrzanowski](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/jakub.chrzanowski/32/38_2.png) [@jakub.chrzanowski](https://platform.jetbrains.com/u/jakub.chrzanowski)\
**Post date:** [April 11, 2025, 10:51am UTC](https://platform.jetbrains.com/t/how-to-build-a-plugin-that-support-multiple-platforms-and-all-version-since-lsp-support/1309/3 "2025-04-11T10:51:57Z")

</div>

As @RankWeis said – you should target IU instead of RD.  
If you do not use Rider-specific platform components, everything should work similarly on all platforms.

In addition, if you will target IU but still want to check how it works in other IDEs and run them locally, register a custom `runIde` task with:

```auto
val runRider by intellijPlatformTesting.runIde.registering {
  type = IntelliJPlatformType.Rider
}

```

> **[IntelliJ Platform Testing Extension | IntelliJ Platform Plugin SDK](https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-testing-extension.html#intellijPlatformTesting)**
